Android App For Learning
Android App For Learning
Android App For Learning
Chapter 1: Introduction
1.1 Brief overview of the work
There are three types of user in the system: admin, faculty and student. The student will register,
he/she will be asked for name, mobile no, email address, gender, birth date. After the student
is logged in, he/she can access lectures, notes, assignments, tests, latest articles. The faculty
will register after submitting his/her resume and other details. The faculty will be able to see
the scores of the students, manage the students, conduct live lectures, tests and generate tests.
The admin will manage the users of the system.
1.2 Objective
The purpose of the system is to make the study material for the students on the go. This
application will also provide the faculty the facility to conduct tests and schedule live lectures.
1.4 Modules
Admin, faculty and student will have the register/login module.
Admin
Faculty Management
Faculty
1. Generate test
2. View students’ scores
3. Live lecture
4. Lecture, notes, assignments upload
1
15IT001, 15IT040, 16IT615 Ace Learning
Student
1. Learn – Lectures, notes, assignments available under this tab
2. Test – This module consists of practice tests
3. Attend Live Lecture
4. Ask queries
5. View the test scores
Software Requirements
Operating System(Windows 7,8,10)
RAM (4GB to 12GB and Above)
Android Studio(with least Version supported)
2
15IT001, 15IT040, 16IT615 Ace Learning
3
15IT001, 15IT040, 16IT615 Ace Learning
Firebase
The server used for Android applications are Oracle SQL, Microsoft SQL Server, and MySQL
which are connected to the server with PHP files.
Then Firebase came into existence for Android applications which uses JSON for storing data.
The other servers use a table (rows and columns) format for storing data.
Firebase is NoSQL based. There are very few cloud based server available which are similar
to firebase, like: AWS Mobile Hub- It is integrated console that helps to create, build, test, and
monitor the mobile apps that leverages AWS services.
MongoDB is an open source document database that provides high performance, high
availability, and automatic scaling. RethinkDB has a query language that supports really useful
queries like table joins and group by, and is easy to setup and learn. Real-Time Data Base
System can be defined as those computing systems that are designed to operate in a timely
manner.
Firebase Features:
1. Authentication: Authentication feature in firebase let you let only authorized users access
your application. Firebase provides login through Gmail, Github, twitter, Facebook and also
let the developer create custom authentication.
2. Hosting: Hosting is production-grade web content that facilities the developers. With
Hosting, you can rapidly and effectively send web applications and static content to a Content
Delivery Network (CDN) with a single command. It contains custom domain support, Global
CDN and Auto Provisioned SSL Certificate.
4. Analytics: This feature enables the application developer to understand how users are using
his application. The SDK capture events and properties on its own and also allows you to get
custom data. The dashboard provides details like your most active user or what feature of your
application is used most. It also provides you with summarized data.
5. Storage: Firebase also provides storage facility. It can store and retrieve content like images,
videos and audio directly from client SDK. Uploading and downloading is done in the
background. Data stores are safe and the only authorized user can access it.
6. Real-time Database: Database in firebase is a cloud based database and does not need SQL-
based queries to store and fetch data. Database is highly reliable thus even if connection is lost
data is maintained.
4
15IT001, 15IT040, 16IT615 Ace Learning
7. Crash reporting: crash reporting feature on firebase creates reports of error in your app
after its release. Errors are grouped into different groups according to how severe error is. You
can also create custom events to catch steps leading to the crashing of the application.
8. App Indexing: By using this component you easily get to index your application in Google
Search. For an instance, if your application is already installed in user’s device when he
searches for related content, it will live your app directly from the search results. If users have
not installed your application yet, an install card shows up in search results.
9. AdMob: It is a simple approach to adapt mobile apps with focused in-application promoting.
It is mobile advertising platform which you can use to create revenue with the help of your
application. It gives you extra application usage information and analytics capabilities.
5
15IT001, 15IT040, 16IT615 Ace Learning
6
15IT001, 15IT040, 16IT615 Ace Learning
1. Software design should correspond to the analysis model: Often a design element
corresponds to many requirements, therefore, we must know how the design model satisfies
all the requirements represented by the analysis model.
2. Choose the right programming paradigm: A programming paradigm describes the
structure of the software system. Depending on the nature and type of application, different
programming paradigms such as procedure oriented, object-oriented, and prototyping
paradigms can be used. The paradigm should be chosen keeping constraints in mind such as
time, availability of resources and nature of user's requirements.
3. Software design should be uniform and integrated: Software design is considered
uniform and integrated, if the interfaces are properly defined among the design components.
For this, rules, format, and styles are established before the design team starts designing the
software.
7
15IT001, 15IT040, 16IT615 Ace Learning
4. Software design should be flexible: Software design should be flexible enough to adapt
changes easily. To achieve the flexibility, the basic design concepts such as abstraction,
refinement, and modularity should be applied effectively.
5. Software design should ensure minimal conceptual (semantic) errors: The design team
must ensure that major conceptual errors of design such as ambiguousness and inconsistency
are addressed in advance before dealing with the syntactical errors present in the design
model.
6. Software design should be structured to degrade gently: Software should be designed to
handle unusual changes and circumstances, and if the need arises for termination, it must do
so in a proper manner so that functionality of the software is not affected.
7. Software design should represent correspondence between the software and real-
world problem: The software design should be structured in such a way that it always
relates with the real-world problem.
8. Software reuse: Software engineers believe on the phrase: 'do not reinvent the wheel'.
Therefore, software components should be designed in such a way that they can be
effectively reused to increase the productivity.
9. Designing for testability: A common practice that has been followed is to keep the testing
phase separate from the design and implementation phases. That is, first the software is
developed (designed and implemented) and then handed over to the testers who
subsequently determine whether the software is fit for distribution and subsequent use by
the customer.
10.Prototyping: Prototyping should be used when the requirements are not completely defined
in the beginning. The user interacts with the developer to expand and refine the requirements
as the development proceeds. Using prototyping, a quick 'mock-up' of the system can be
developed. This mock-up can be used as an effective means to give the users a feel of what
the system will look like and demonstrate functions that will be included in the developed
system
8
15IT001, 15IT040, 16IT615 Ace Learning
9
15IT001, 15IT040, 16IT615 Ace Learning
10
15IT001, 15IT040, 16IT615 Ace Learning
11
15IT001, 15IT040, 16IT615 Ace Learning
12
15IT001, 15IT040, 16IT615 Ace Learning
13
15IT001, 15IT040, 16IT615 Ace Learning
14
15IT001, 15IT040, 16IT615 Ace Learning
15
15IT001, 15IT040, 16IT615 Ace Learning
16
15IT001, 15IT040, 16IT615 Ace Learning
17
15IT001, 15IT040, 16IT615 Ace Learning
18
15IT001, 15IT040, 16IT615 Ace Learning
19
15IT001, 15IT040, 16IT615 Ace Learning
Login
Login screen for the admin, faculty and student.
New User
Click “No account? Register now” on the login page, the following screen appears. Select the
type of user- faculty or student.
20
15IT001, 15IT040, 16IT615 Ace Learning
Sign Up
Different sign up screens for faculty and student.
For student sign up, student enters name, email, mobile number and password.
For the faculty sign up, faculty enters name, email, mobile number, password and selects
the subjects and uploads his/her resume.
The faculty can login only after he/she has been approved by the admin.
21
15IT001, 15IT040, 16IT615 Ace Learning
22
15IT001, 15IT040, 16IT615 Ace Learning
23
15IT001, 15IT040, 16IT615 Ace Learning
Live Lecture
Live lecture module contains provision to send the notifications. Click on “Start Live Lecture”
to start streaming live lecture. This is the live lecture module for the faculty.
24
15IT001, 15IT040, 16IT615 Ace Learning
25
15IT001, 15IT040, 16IT615 Ace Learning
Generate Test
Provision for the faculty to create tests and upload them.
26
15IT001, 15IT040, 16IT615 Ace Learning
27
15IT001, 15IT040, 16IT615 Ace Learning
28
15IT001, 15IT040, 16IT615 Ace Learning
Future Work
● Ensuring proper interaction and access control between user groups
● Enabling additional features
● Adding built-in calendar book to let students make their own study plans
● Make the application cross-platform
29
15IT001, 15IT040, 16IT615 Ace Learning
References
Research Paper Reference:
[1] Patterson, T. (2012, September 25). A Review of the Blackboard Learn Mobile App.
Retrieved from http://www.blackboardguru.com/2012/09/a-review-of-the-blackboard-learn-
mobile-application.
[2] Cloud-based Collaboration and Customization Will Drive the M-Education Market in the
US Through 2020, Says Technavio. (2016, May 12). Retrieved from
http://www.businesswire.com/news/home/20160512005038/en/Cloud-based-Collaboration-
Customization-Drive-M-Education-Market-2020.
[3] Clother, P. (2014, May 12). Right Time and Place: mLearning Use Cases. Retrieved from
https://www.learningsolutionsmag.com/articles/1420/right-time-and-place-mlearning-use-
cases.
[4] Blackboard Inc. (2015). Mobile LearnTM (4.1.4) [Mobile application software]. Retrieved
from https://play.google.com/store/apps/details?id=com.blackboard.android&hl.
Website References:
https://firebase.google.com/docs/
https://www.tutorialspoint.com/android/android_navigation.htm
https://www.tutorialspoint.com/android/android_intents_filters.htm
https://firebase.google.com/docs/storage/android/upload-files
https://www.tutorialspoint.com/android/android_webview_layout.htm
30