Android App For Learning

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 30

15IT001, 15IT040, 16IT615 Ace 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.3 Scope of the system


The application will be useful for faculty and students both. The students will be able to track
his progress and analyze his tests. The faculty will be able to keep a track of the performances
of the students, conduct tests and live lectures via the application.

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

1.5 Project Hardware/Software Requirements


Hardware Requirements
 Android Mobile Phone
 Laptop
 USB cable

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

Chapter 2: System Analysis


2.1 Comparison of existing Applications with this project
The application is at par with all the existing applications in the market. The application
contains study material and tests explore. These functionalities are available in most of the
existing applications that are available in the market. What makes the application different is
the feature of live lecture and upload notes and give test.

2.2 Literature review


Over the past few years, several organizations have taken the initiative to implement m-
learning. [2] This Application makes it easier for students to keep up with their courses by letting
them access the materials whenever and wherever they want. OppiaMobile is also a similar
mobile learning application developed by Digital Campus [3], which offers to run content
exported from Moodle even when the student is offline. But these applications cannot
guarantee that the content created by instructors or other users will always be compatible.
Learning mobile programming can be challenging for educators who are not programmers,
especially in an online learning environment. [4] As such, an effective learning environment
should build in rich support for these educators. In the country or outside the country many
people want mobile based learning application that will be easily accessible.

Tools & Servers


 Android Studio
 Firebase
 Authentication
 Real-time Database
 Storage
 Crash Reporting
 Analytics
 Cloud Messaging
 Google Play Services

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.

3. Messaging: It is a cross-platform messaging solution that lets you dependably conveys


messages at zero expense. You can inform a customer that new email or other information is
accessible to sync. You can send notification messages to drive user reengagement and
maintenance.

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

2.3 Feasibility study


2.3.1 Technical Feasibility
In this application it is technically possible for administrator to manage the faculty as well as
the students. This application is technical feasible.

2.3.2 Operational Feasibility


The application will be acceptable and adaptable to every type of user.

2.3.3 Implementation Feasibility


Implementation of the application is feasible, it just needs to be downloaded by the user.

2.3.4 Resource Feasibility


The resources required for this application were easily available. The project is feasible when
it comes to resources.

2.3.5 Market Feasibility


This android application has a lot of scope in the market.

2.4 Project Timeline chart

Figure 2.1: Timeline Chart

6
15IT001, 15IT040, 16IT615 Ace Learning

Chapter 3: System Design


3.1 Design Principles
Designing an application is mainly concerned with the specification of a program’s major parts,
as well as their properties, responsibilities, and interfaces, as well as the relationships between
these parts.
To design an application, the use of architectural model is extremely important as they are
useful for the communication with the system stakeholders, for project planning and for the
documentation of an existing system. Following the rising interest of the object-oriented
programming languages in the early 90’s, three major modelling languages unified their
methods and created the Unified Modelling Language (UML), which is mainly used to model
a standard approach to a problem using an object-oriented method.
There are three major categories of UML diagrams that are used to model a project throughout
its life cycle, these categories are:
 Static diagrams: such as class diagrams, object diagrams and package diagrams.
 Dynamic diagrams: such as sequence diagrams, communication diagrams and time
diagrams.
 Behavioural diagrams: such as use case diagrams, activity diagrams and state diagrams.
Modelling and designing our project will focus on one diagram from each category of UML
diagrams, the diagrams selected are: use case diagram, class diagram and sequence diagram.

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

3.2 Use Case Diagram

Figure 3.1: Use-Case Diagram

9
15IT001, 15IT040, 16IT615 Ace Learning

3.3 Data Flow Diagram

Figure 3.2: DF Diagram Level 0

Figure 3.3: Admin Level 1

10
15IT001, 15IT040, 16IT615 Ace Learning

Figure 3.4: Faculty Level 1

Figure 3.5: Student Level 1

11
15IT001, 15IT040, 16IT615 Ace Learning

Figure 3.6: Faculty Level 2-Generate test

Figure 3.7: Faculty level 2-Upload

Figure 3.8: Student Level 2-Learn

12
15IT001, 15IT040, 16IT615 Ace Learning

Figure3.9: Student Level 2-Give test

13
15IT001, 15IT040, 16IT615 Ace Learning

3.4 Entity Relationship Diagrams

Figure 3.10: E-R Diagram

14
15IT001, 15IT040, 16IT615 Ace Learning

3.5 Sequence Diagram

Figure 3.11: Sequence Diagram

3.6 Data Dictionary

15
15IT001, 15IT040, 16IT615 Ace Learning

Table 3.1: Admin

Sr. no Name Datatype Constraint Description


1. Ad_id Integer Primary key Admin id
Name of the
2. Ad_name Text Not Null
admin
Email address
3. Ad_email Text Not Null
of admin
To store
4. Ad_password Text Not Null
password
Contact no of
5. Contact_no Integer Not Null
the admin

Table 3.2: Assignment

Sr. no Name Datatype Constraint Description


1. assgn_id Integer Primary key Assignment id
Title of the
2. a_name Text Not Null
assignment
3. sub_id Integer Foreign Key subject id

Table 3.3: Notes

Sr. no Name Datatype Constraint Description


1. n_id Integer Primary key notes id
2. n_name Text Not Null Title of the note
3. sub_id Integer Foreign Key Subject id

Table 3.4: Videos

Sr. no Name Datatype Constraint Description


1. v_id Integer Primary key Video lecture id
Title of the
2. v_name Text Not Null
video lecture
3. sub_id Integer Foreign Key Subject id

16
15IT001, 15IT040, 16IT615 Ace Learning

Table 3.5: Test

Sr. no Name Datatype Constraint Description


1. t_id Integer Primary key Id of the test
2. t_name Text Not Null Title of the test
3. sub_id Integer Foreign Key Subject id

Table 3.6: Faculty

Sr.no Name Datatype Constraints Description


1. f_id Integer Primary Key Faculty id
2. f_name Text Not Null Faculty Name
3. f_email Text Not Null Email address
4. f_password Text Not Null password
5. Contact_no Integer Not Null Contact number
6. subject Text(50) Not Null subject

Table 3.7: Student


Sr.no Name Datatype Constraints Description
1. st_id Integer Primary Key Student id
2. st_name Text Not Null Student Name
3. st_email Text Not Null Email address
4. st_password Text Not Null password
5. Contact_no Integer Not Null Contact number

Table 3.8: subject

Sr.no Name Datatype Constraints Description


1. sub_id Integer Primary Subject Id
2. su_name Text Not Null subject name

17
15IT001, 15IT040, 16IT615 Ace Learning

Table 3.9: Doubt

Sr. no Name Datatype Constraint Description


1. d_id Text Primary key Doubt Id
2. d_query Text Not null Query
3. d_response Text Not Null Response

Table 3.10: Question

Sr.no Name Datatype Constraints Description


1. q_id Integer Primary Key Question ID
2. q_question Text Not Null Question
3. sub_id Integer Foreign Key Subject question
4. q_op1 Text Not Null MCQ option 1
5. q_op2 Text Not Null MCQ option 2
6. q_op3 Text Not Null MCQ option 3
7. q_op4 Text Not Null MCQ option 4
Difficulty level
8. q_difficulty Text Not Null
question
Type of the
9. q_type Text Not Null
question
10. q_answer Text Not Null Answer

Table 3.11: Score

Sr.no Name Datatype Constraints Description


1. s_id Integer Primary Key Score Id
2. st_id Integer Foreign key Student
3. t_id Integer Foreign key Test
4. Correct Integer Not Null correct answers
5. incorrect Integer Not Null incorrect answers
Score of the
6. St_score Integer Not Null student in the
particular test

18
15IT001, 15IT040, 16IT615 Ace Learning

Chapter 4: Implementation and Testing


4.1 User Interface and Snapshot
Three splash screens for the app. These screens will appear when the app is opened for the first
time. These screens can be skipped.

Slider Screen 1 Slider Screen 2 Slider Screen 3

Figure 4.1: Slider 1(Learn, Practice, Analyse)

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.

Figure 4.2: Login and Select type of user

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.

Figure 4.3: Sign Up screen

21
15IT001, 15IT040, 16IT615 Ace Learning

Faculty Home Page


Home page for faulty module contains four modules- upload file, generate test, view student
test scores, start live lecture.

Figure 4.4: Faculty Home Screen

22
15IT001, 15IT040, 16IT615 Ace Learning

Student Home Page


Student page contains four modules- learn module, tests, ask doubts, live lecture.

Figure 4.5: Student Home Screen

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.

Figure 4.6: Live Lecture- Faculty side

24
15IT001, 15IT040, 16IT615 Ace Learning

Edit Uploaded Assignments


Provision for faculty to view the uploaded assignments, delete them or rename them.

Figure 4.7: Edit Uploaded Assignments- Faculty side

25
15IT001, 15IT040, 16IT615 Ace Learning

Generate Test
Provision for the faculty to create tests and upload them.

Figure 4.8: Generate Test

26
15IT001, 15IT040, 16IT615 Ace Learning

4.2 Test cases and Result

Test Test Expected Actual


Test Step Test data
Case Id Scenario Result Result
1.goto admin
approval screen Email=admin12
Admin
Admin 2.click approve and [email protected] As
TCID1 successfully
login delete Password=admi expected
logged in
3.Click “view n123
resume”
Email=Suthar.pi
1.goto new user
Faculty [email protected] Faculty should
click faculty As
TCID2 Login with m get successfully
2.Enter data expected
valid data Password=pinal logged in
3.Click “signup”
123
1.goto new user Email=ketan@g
Student Student
click student mail.com As
TCID3 Login with successfully
2.Enter data Password=stude expected
valid data logged in
3.Click “signup” nt
Select the
1.goto generate test subject name.
Faculty should
Generate 2.Enter data Enter the name As
TCID4 get successfully
test 3.Click “Generate of test. expected
generate the test
test” Select the
questions.
Select subject
name.
Upload 1.goto Upload
TCID5 Upload file as
Notes, Notes, lectures, Faculty should
notes, lectures or As
Assignme assignment get successfully
assignments. expected
nt, 2.Enter data upload file
Enter title of file,
Lectures 3.Click “Done”
select the file
and upload.
Enter
Notification title
1.goto live lecture
Enter
2.Enter data
Live notification Successfully As
TCID6 3.Click “Start live
lecture message start live lecture expected
lecture”
Send
notification and
start live lecture
Select the
View Faculty should
Go to view student student as per As
TCID7 student be shown
score the name and see expected
score students’ score
the score

27
15IT001, 15IT040, 16IT615 Ace Learning

1.goto drawer and Select the


Edit notes, Faculty change
select edit notes subject and click As
TCID8 assignmen the file
assignment, lecture edit and edit the expected
t, lectures successfully
2.Enter data name and submit
TCID9 Change 1.Goto Drawer and Select subject Faculty get As
Subject select change and click the successfully expected
subject change subject change the
2.Enter data subject
3.Click “Change
Subject”
TCID10 Add 1.Goto Drawer and Select subject Faculty get As
Objective select add question after select successfully expected
question 2.Enter data question type insert the
3.Click “insert” and enter question
question and
there option and
select the answer
TCID11 Change 1.Goto Drawer and Enter the Old Faculty and As
Password select change Password, enter student get expected
password new password Successfully
2.Enetr data and change Change
3.Click “Change” Password
TCID12 Student Go to learn module Select the Display As
Learn to view subject and view successfully expected
assignments, the subject notes,
lectures, notes related notes, assignment and
subject wise. assignments, lectures
lectures
TCID13 Student 1.Goto Test Select the Student Should As
Test 2.Select answer subject and show get successfully expected
the subject give the test
related test after
test view score
TCID14 Student 1.Goto Live lecture Student view the Successfully As
Live 2.See the lecture live lecture display the live expected
lecture delivered by the lecture
faculty
TCID15 Doubts 1.Goto Doubts Select subject Student Should As
2.Enter data enter the query get successfully expected
3.Click “submit” and submit submitted
doubts.

28
15IT001, 15IT040, 16IT615 Ace Learning

Conclusion and Future Work


Conclusion
Here we conclude the documentation by acknowledging the limitations and difficulties we
faced during the development of this project. Also we hint at the future aspirations we have for
this application and a rough estimation of ways to achieve them. Even though there are many
applications with similar motives as us, none of them have successfully been able to provide
the users what they claimed. So our main aim in future will be to overcome all those boundaries
and difficulties, and create a proper educational application which can solve all the problems
of students and coordinators simultaneously.

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

You might also like