Sei sulla pagina 1di 58

Table of Contents

Table of Contents
1 Introduction ............................................................................................................................. 2
1.1 Existing System ................................................................................................................... 2
1.1.1 Examples: ......................................................................................................................... 2
1.1.1.1 E-learn Punjab .............................................................................................................. 2
1.1.1.2 E-Center ........................................................................................................................ 2
1.1.1.3 Virtual university Pakistan (VU) .................................................................................. 2
1.1.2 Issues with Existing Systems: .......................................................................................... 3
1.2 Problem Statement ................................................................................................................ 3
1.2 Solution ................................................................................................................................. 3
1.5 Advantage of Proposed System ............................................................................................ 4
Requirements and System Analysis ................................................................................................ 5
2 Requirements and System Analysis ........................................................................................ 6
2.1 Use Case Model ............................................................................................................... 7
2.1.1 Use Case Diagram..................................................................................................... 7
2.2 Use Case Description Detail ............................................................................................ 8
2.2.1 Login ......................................................................................................................... 8
2.2.2 Create Course ............................................................................................................ 8
2.2.3 Create Quiz ............................................................................................................... 9
2.2.4 Create Quiz ............................................................................................................. 10
2.2.5 Attempt Quiz ........................................................................................................... 10
2.2.6 Forgot Password...................................................................................................... 11
2.2.7 Attend Lecture ........................................................................................................ 12
2.2.8 Submit Assignment ................................................................................................. 12
2.2.9 Start class ................................................................................................................ 13
2.2.10 Join class ................................................................................................................. 14
3 System Design ...................................................................................................................... 16
3.1 Phases of data flow from client side to database ............................................................ 16
3.1.1 Data Collection ....................................................................................................... 16
3.1.2 Data Validation ....................................................................................................... 17

E-Academy i
Table of Contents

3.1.3 Passing data to backend Server through APIs ........................................................ 17


3.2 Domain Model................................................................................................................ 18
3.3 Class Diagram ................................................................................................................ 19
3.4 Activity Diagram ............................................................................................................ 19
3.4.1 E-Academy Activity Diagram ................................................................................ 20
3.5 Entity Relationship Diagram .......................................................................................... 20
3.5.1 E-Academy ERD .................................................................................................... 21
3.6 Component Diagram ...................................................................................................... 21
3.6.1 E-Academy Component Diagram ........................................................................... 22
3.7 Deployment Diagram ..................................................................................................... 22
3.7.1 E-Academy Deployment Diagram .......................................................................... 23
3.8 Sequence Diagrams ........................................................................................................ 23
3.8.1 Sign in ..................................................................................................................... 24
3.8.2 Create Course .......................................................................................................... 25
3.8.3 Create Assignment .................................................................................................. 25
3.8.4 Attempt Quiz ........................................................................................................... 26
3.8.5 Delete Service ......................................................................................................... 28
3.8.6 Start class ................................................................................................................ 29
3.8.7 Join Class ................................................................................................................ 30
4 System Implementation ........................................................................................................ 32
4.1 Details of Implementation Tools and Technologies ...................................................... 32
4.1.1 Node.js .................................................................................................................... 32
4.1.2 Loopback................................................................................................................. 33
4.1.3 Angular2 ................................................................................................................. 33
4.1.4 MongoDB ............................................................................................................... 33
4.1.5 mLab ....................................................................................................................... 34
4.1.1 WebRTC ................................................................................................................. 34
4.1.2 Robomongo ............................................................................................................. 34
4.1.3 Heroku..................................................................................................................... 34
4.1.4 GitHub..................................................................................................................... 34
4.2 Project Screenshots ........................................................................................................ 35

E-Academy ii
Table of Contents

4.2.1 Login Page .............................................................................................................. 35


4.2.2 Dashboard Page ...................................................................................................... 35
4.2.3 Manage Profile (Basic Information) ....................................................................... 36
4.2.4 Manage Profile (Education) page ........................................................................... 36
4.2.5 Create Course .......................................................................................................... 37
4.2.6 Update Course (Adding Curriculum)...................................................................... 38
4.2.7 View Course............................................................................................................ 38
4.2.8 Create Quiz ............................................................................................................. 39
4.2.9 Adding Service to a Group ..................................................................................... 40
4.2.1 Teacher Starting Class ............................................................................................ 41
4.2.1 Student Joining Class .............................................................................................. 42
4.2.1 Live Call in Classroom ........................................................................................... 43
4.2.1 Chat in Classroom ................................................................................................... 44
4.2.1 Share File in Classroom .......................................................................................... 45
5 System Testing ...................................................................................................................... 47
5.1 Software Quality Assurance ........................................................................................... 47
5.2 Software Quality Control ............................................................................................... 47
5.2.1 Black Box Testing................................................................................................... 47
5.3 Test Case ........................................................................................................................ 47
5.3.1 Sign Up ................................................................................................................... 47
5.3.2 Create Course .......................................................................................................... 48
5.3.3 Create Quiz ............................................................................................................. 49
5.3.4 Join Course.............................................................................................................. 49
5.3.5 Assign Service to a Group ...................................................................................... 50
5.3.6 Submit Assignment ................................................................................................. 51
6 Conclusion ............................................................................................................................ 54
7 References ............................................................................................................................. 55

E-Academy iii
Chapter 1 Introduction

Chapter # 1
Introduction

E-Academy 1
Chapter 1 Introduction

1 Introduction
E-Academy is a learning management system that enables teachers and students to
conduct live lectures. By using this system, different academies can conduct online classes,
which will help those students who cannot physically visit the academy. It is like a virtual
academy. Teachers can create, manage and teach courses, conduct assessments and assignments
using this system. Students can view and join courses and take live lectures for the courses that
are joined by them and can attempt assignments and assessments through the system. System
will keep track of attendance and grading of students and schedule of lectures.

1.1 Existing System


There exist many different Apps and different websites for learning management. Most
of enables teacher to upload recorded lectures, PDF documents, books etc. Some of them allow
students and teachers to register and interact with each other using different type of chat systems.
Some of them allow students to upload assignments and allow teachers to grade them.

1.1.1 Examples:

1.1.1.1 E-learn Punjab


E-learn Punjab facilitates and encourages the use of educational technologies by
providing digitized content, relevant supplementary resources, and online assessment
tools for students and educators. As a first step, digitized versions of science subject
textbooks for 9th and 10th grades are being made available online.

1.1.1.2 E-Center
E-center provides students with an understanding of course curriculum, exam
preparation and skills necessary for a professional career.it provide students of 8th grade
to 10th grade students with some recorded video courses and written material.

1.1.1.3 Virtual university Pakistan (VU)


Virtual university Pakistan (VU) provides higher education programs through electronic
media, typically the internet. Some are bricks-and-mortar institutions that provide online

E-Academy 2
Chapter 1 Introduction

learning as part of their extended university courses while others solely offer online
courses. They are regarded as a form of distance education.
It is a Facebook app that works in the same way by asking users’ to take quiz and
predicting their results based on the same 16 personality type model.

1.1.2 Issues with Existing Systems:


 Most of them only allow sharing files or recorded lecture videos.
 Most of them do not allow live lectures or chatting. So students can’t ask questions
during the lecture.
 Some of them do not manage proper progress of student, or do not allow online
quizzes and assignment system.
 Most of them are not designed using new technology so these are slow, or need
supporting system to operate properly.

1.2 Problem Statement

There exist a need to an application that remove distance between teachers and students
and allow student and teachers to conduct live lectures, so students can ask questions during the
lecture through proper way. At the same time system allows teachers to create and manage
course, assignment and assessments. And students to join courses, take lectures and attempt
assessments and assignments. A system that enables academies to manage students and teachers
and conduct live lectures and manage student progress.

1.2 Solution

Here are some solutions to above mentioned problems that will be provided by the
system.

The system provides following features:

 Allow students to interact with teachers using live video chat. E-academy
provides live tutors using real time communication.

E-Academy 3
Chapter 1 Introduction

 Allow students to ask question during the lecture, using chat or emoji (It is a
signal to teacher that “I have a question”).
 Allow teachers to create and manage course, assignment and assessments.
 Allow students to join course, take live classes and attempt assignment and
assessments.
 Mange all type of users (student, teachers, parents, admins).
 Manage student’s attendance, progress and grading.

1.5 Advantage of Proposed System

 Unlike common system, this application use live lectures, so it removes the distance
between teacher and students.
 Teachers can easily manage their course work and student progress.
 We are using WebRTC real time communication for live lectures. It is browser based
and need no other supporting app.

E-Academy 4
Chapter 2 Requirements and System Analysis

Chapter # 2

Requirements and System Analysis

E-Academy 5
Chapter 2 Requirements and System Analysis

2 Requirements and System Analysis

Requirements Analysis is also called requirements engineering, a process in which “what


is to be done” is elicited, modeled and communicated. The descriptions of the services and
constraints are the requirements for the system the process of finding, analyzing, documenting
and checking these services and constraints. In the waterfall model, requirements engineering is
presented as the first phase of the development process. Later software development methods,
including the Rational Unified Process, Extreme Programming and Scrum assume that
requirements engineering continues through the lifetime of a system.
In the following pages we have inserted the Use Case Model for the system and detailed
use case descriptions for the system.

E-Academy 6
Chapter 2 Requirements and System Analysis

2.1 Use Case Model

A use case diagram is a dynamic or behavior diagram in UML. Use case diagrams model
the functionality of a system using actors and use cases. Use cases are a set of actions, services,
and functions that the system needs to perform. In this context, a "system" is something being
developed or operated, such as a web site. The "actors" are people or entities operating under
defined roles within the system.

2.1.1 Use Case Diagram

Fig.2.1 – Use Case Diagram

E-Academy 7
Chapter 2 Requirements and System Analysis

2.2 Use Case Description Detail

2.2.1 Login

Use Case ID: UC-001


Use Case Name: Login / Sign Up
Description: This use case describes the process by which users can login
Actors: User
Pre-condition: - Working internet connection
- Verified Email Account
- Web App is fully loaded
Post-condition: User will be redirected to homepage
Includes: Web App , MongoDB
Flow: 1. User will enter credentials
2. User will click on login
3. Web app will post request to Loopback API
4. After verification user is logged in
Exception: N/A
Frequency of use: Once per session

2.2.2 Create Course

Use Case ID: UC-002


Use Case Name: Create Course
Description: This use case describes the process by which Teacher or admin create
a course
Actors: Teacher / Admin
Pre-condition: - Working internet connection
- User is logged in
- Web App is fully loaded
Post-condition: Course will be created and shown to the user
Includes: Web App, MongoDB
Flow: 1. User will click on Create Course

E-Academy 8
Chapter 2 Requirements and System Analysis

2. System will show form to get info about the course


3. After providing valid info submit form
4. Course is added to user courses and available for student to
join
Exception: - Student can’t create course
- Course must have a title
Frequency of use: Numerous

2.2.3 Create Quiz

Use Case ID: UC-003


Use Case Name: Create Quiz

Description: This use case describes the process by which teacher create a quiz
Actors: Teacher
Pre-condition: - Working internet connection
- Teacher is logged in
- Web App is fully loaded
- teacher has at least one course
Post-condition: Quiz will created for student to be attempt
Includes: Web App, MongoDB
Flow: 1. Teacher will go to assessments and press create quiz.
2. Web App will check database for courses taught by user.
3. System will present a form for quiz header details.
4. After completing header teacher submit form.
5. System provides form to question to be set.
6. Quiz will be saved and available to be attempt by students of
that course
Exception: - teacher has not any course
Frequency of use: Numerous

E-Academy 9
Chapter 2 Requirements and System Analysis

2.2.4 Create Quiz

Use Case ID: UC-004


Use Case Name: Create Quiz

Description: This use case describes the process by which teacher create a quiz
Actors: Teacher
Pre-condition: - Working internet connection
- Teacher is logged in
- Web App is fully loaded
- teacher has at least one course
Post-condition: Quiz will created for student to be attempt
Includes: Web App, MongoDB
Flow: 1. Teacher will go to assessments and press create quiz.
2. Web App will check database for courses taught by user.
3. System will present a form for quiz header details.
4. After completing header teacher submit form.
5. System provides form to question to be set.
6. Quiz will be saved and available to be attempt by students of that
course
Exception: - teacher has not any course
Frequency of use: Numerous

2.2.5 Attempt Quiz

Use Case ID: UC-005


Use Case Name: Attempt Quiz

Description: This use case describes the process by which student will attempt the
quiz.
Actors: Student
Pre-condition: - Working internet connection
- Web App is fully loaded

E-Academy 10
Chapter 2 Requirements and System Analysis

- Student is registered of the course


Post-condition: Student attempt the quiz and graded
Includes: Web App, MongoDB
Flow: 1. Student will check form available quizzes
2. Student will select a quiz to be attempt.
3. Student will be provided with questions
4. Student will answer the questions
5. Student will be presented with result after completions
Exception: - Teacher and Admin can’t attempt quizzes
- Quiz due date expired
Frequency of use: Seldom

2.2.6 Forgot Password

Use Case ID: UC-006


Use Case Name: Forgot Password
Description: This use case describes how user can recover password after forget ,
by email notifications and change their password
Actors: User
Pre-condition: - Working internet connection
- User is registered
- Web App is fully loaded
Post-condition: Password will be changed as per user’s need
Includes: Web App
Flow: 1. User will click forget passwords button
2. System ask for email address
3. User enter email and press change password
4. User will receive email with password link
5. User will follow the link and add new password
6. User can login with new password.

E-Academy 11
Chapter 2 Requirements and System Analysis

Exception: - User entered incorrect email


Frequency of use: Numerous

2.2.7 Attend Lecture

Use Case ID: UC-007


Use Case Name: Attend Lecture
Description: This use case describes how student can take lectures
Actors: Student
Pre-condition: - Working internet connection
- User is logged in
- Web App is fully loaded
- Student is registered with at least one course
Post-condition: Student will attend live lecture
Includes: Web App
Flow: 1. Student will go to Live stream
2. Student will be presented with live lectures of their joined
courses
3. Student will select the lecture from available on stream.
4. Student will join lecture
Exception: - Student is not enrolled in any course
Frequency of use: Numerous

2.2.8 Submit Assignment

Use Case ID: UC-008


Use Case Name: Submit Assignment
Description: This use case describes how student can submit assignment
Actors: Student
Pre-condition: - Working internet connection

E-Academy 12
Chapter 2 Requirements and System Analysis

- User is logged in
- Web App is fully loaded
- Student is registered with at least one course
- There should be at least one due assignment for that course
Post-condition: Student submitted an assignment
Includes: Web App
Flow: 1. Student will go to due assignments
2. Student will be presented with all due assignments of his courses
3. Student will select the assignment from available.
4. Student will upload his/her assignment
5. Assignment submitted
Exception: - Student is not enrolled in any course
- There is no due assignment
- Assignment due date expired
Frequency of use: Numerous

2.2.9 Start class

Use Case ID: UC-009


Use Case Name: Start class

Description: This use case describes the of start class


Actors: Teacher
Pre-condition: - Working internet connection
- Teacher is logged in
- Web App is fully loaded
- teacher has at least one course
- At least one student enrolled
Post-condition: Class successfully started
Includes: Web App, MongoDB

E-Academy 13
Chapter 2 Requirements and System Analysis

Flow: 1. Go to classroom tab.


2. System will list down all courses.
3. Teacher select course and click start class.
4. System will display classroom screen.
Exception: - teacher has not any course
- student is not enrolled in any course
Frequency of use: Numerous

2.2.10 Join class

Use Case ID: UC-010


Use Case Name: Join Class
Description: This use case describes how student Join the class
Actors: Student
Pre-condition: - Working internet connection
- User is logged in
- Web App is fully loaded
- Student is registered with at least one course
Post-condition: Student will attend live lecture
Includes: Web App
Flow: 1. Go to classroom tab.
2. System will list down all courses.
3. Student select course and click join class button.
4. System will display classroom screen.
Exception: - Student is not enrolled in any course
Frequency of use: Numerous

E-Academy 14
Chapter 3 System Design

Chapter # 3
System Design

E-Academy 15
Chapter 3 System Design

3 System Design
We have designed our system in a way that it consists of three different parts (modules).
One part is Client-Side, the next one is the Web Server and the third part is Database
Module. The following diagram shows different components of the system:

Fig.3.1 - System Design

E-Academy works in a way that, the user will interact with the Client-side, Client-side
will pass information to the Web Server which will be responsible for running the logic and
storing the results in the database. To authenticate the user and get information of courses,
assessments, and student progress and grading system will also be connected to the Database.

Below are the phases of data analysis and different diagrams that show interactions
between the user and different components of the system.

3.1 Phases of data flow from client side to database


We have divided our data flow in four different phases, namely: data collection, data
validation, passing data to Server API and passing data to database.

3.1.1 Data Collection


Data is first collected by the user at client side of the application. Data can be collected
through different type of forms or other different ways that suites the scenario.

E-Academy 16
Chapter 3 System Design

3.1.2 Data Validation


Data is then validated at the client side that the provided data is according to what it is
decided to be. When all the provided data is valid and the form allowed being submit for further
actions at server side.

3.1.3 Passing data to backend Server through APIs


After the validation of data it is passed to the backend server through appropriate API
provided by backend server for specific type of operations. Following are some APIs provided
by backend server:

3.1.3.1 Post

This is use to post new data to the backend server.

3.1.3.2 Patch

This is use to update a portion of existing data to the backend server.

3.1.3.3 Update

This is use to update existing data to the backend server.

3.1.3.4 Delete

This is use to delete existing data to the backend server.

3.1.3.5 Get

This is use to get data from the backend server.

E-Academy 17
Chapter 3 System Design

3.2 Domain Model


A domain model is a system of abstractions that describes selected aspects of a sphere of
knowledge, influence or activity. The model can then be used to solve problems related to that
domain. The domain model is a representation of meaningful real-world concepts pertinent to the
domain that need to be modeled in software. The concepts include the data involved in the
business and rules the business uses in relation to that data.

A domain model generally uses the vocabulary of the domain so that a representation of
the model can be used to communicate with non-technical stakeholders.

Fig.3.2 – Domain Model

E-Academy 18
Chapter 3 System Design

3.3 Class Diagram


A class diagram in the Unified Modeling Language (UML) is a type of static
structure diagram that describes the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among objects.

Fig.3.3 – Class Diagram

3.4 Activity Diagram


Activity diagrams are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams are intended to model both computational and organizational
processes (i.e. workflows).

E-Academy 19
Chapter 3 System Design

3.4.1 E-Academy Activity Diagram

Fig.3.4 – Activity Diagram

3.5 Entity Relationship Diagram


An entity relationship model, also called an entity-relationship (ER) diagram, is a graphical
representation of entities and their relationships to each other, typically used in computing in
regard to the organization of data within databases or information systems.

E-Academy 20
Chapter 3 System Design

3.5.1 E-Academy ERD

Fig.3.5 – Entity Relationship Diagram

3.6 Component Diagram


Component diagram is a special kind of diagram in UML. The purpose is also different
from all other diagrams discussed so far. It does not describe the functionality of the system but
it describes the components used to make those functionalities.

E-Academy 21
Chapter 3 System Design

3.6.1 E-Academy Component Diagram

Fig.3.6 – Component Diagram

3.7 Deployment Diagram


Deployment diagram is a structure diagram which shows architecture of the system
as deployment (distribution) of software artifacts to deployment targets. Artifacts represent
concrete elements in the physical world that are the result of a development process.

E-Academy 22
Chapter 3 System Design

3.7.1 E-Academy Deployment Diagram

Fig.3.7 – Deployment Diagram

3.8 Sequence Diagrams


A sequence diagram is a kind of interaction diagram that shows how processes operate
with one other and in what order. It is a construct of a message Sequence Chart. A sequence
diagram shows object interaction arrange in time sequence.

E-Academy 23
Chapter 3 System Design

3.8.1 Sign in
This sequence diagram describes the process by which user can sign in to the system.

Fig 3.8.1 - Sign In

E-Academy 24
Chapter 3 System Design

3.8.2 Create Course


This sequence diagram describes how the teacher create course by the system.

Fig. 3.8.2 – Create Course

3.8.3 Create Assignment


This sequence diagram describes how the teacher creates assignment by the system.

E-Academy 25
Chapter 3 System Design

Fig. 3.8.3 – Create Assignment

3.8.4 Attempt Quiz


This sequence diagram describes how the student is going to attempt the quiz by the
system.

E-Academy 26
Chapter 3 System Design

Fig. 3.8.4 – Attempt Quiz

E-Academy 27
Chapter 3 System Design

3.8.5 Delete Service


This sequence diagram describes how the admin creates service by the system.

Fig. 3.8.5 – Delete Service

E-Academy 28
Chapter 3 System Design

3.8.6 Start class


This sequence diagram describes how the teacher start class.

Fig. 3.8.6 – Start Class

E-Academy 29
Chapter 3 System Design

3.8.7 Join Class


This sequence diagram describes how the student join class.

Fig. 3.8.7 – Join Class

E-Academy 30
Chapter 4 System Implementation

Chapter # 4
System Implementation

E-Academy 31
Chapter 4 System Implementation

4 System Implementation

We have implemented E-Academy using different modern technologies and techniques. The
choice of the technologies used was based on the principle of modularity and performance. We
choose Angular2 for the client-side, Node.js for the web server backend, Loopback.js for the
web Dynamic API framework, MongoDB as the database. We also use Github for code
collaboration and version control. We Use Heroku for online deployment of system and mLab
as its online mongo Database.

Now with the technologies implemented the system design diagram that we have shown in
chapter 3 looks like this:

Fig. 4.1 - System Design

4.1 Details of Implementation Tools and Technologies


The details of the languages, tools and technologies we used are following:

4.1.1 Node.js
Node.js is a JavaScript runtime environment that is cross-platform, open-source and built
upon Google’s V8 Engine. It uses an event driven non-blocking (asynchronous) model. It is
mostly written in C and C++ with some modules written in JavaScript. It is engineered to be
used in high performance highly scalable application. Node.js can be used to create a wide
variety of tools and application, but it mostly being used for modern web application
development and APIs. It interprets JavaScript using the V8 engine and all node.js apps are
programmed in JavaScript. It was built by Ryan Dahl and first released on May 27th 2009.

E-Academy 32
Chapter 4 System Implementation

We choose node.js because of its modular nature and its use of JavaScript as the
programming language which makes development easy because on both front-end and backend
we are using the same language and a development does not need to use multiple languages to
work on the whole application stack.

4.1.2 Loopback
LoopBack is a highly-extensible, open-source Node.js framework that enables you to:

 Create dynamic end-to-end REST APIs with little or no coding.


 Access data from Oracle, MySQL, Postgress SQL, MS SQL Server, MongoDB, SOAP
and other REST APIs.
 Incorporate model relationships and access controls for complex APIs.
 Use built-in push, geo location, and file services for mobile apps.
 Easily create client apps using Android, iOS, and JavaScript SDKs.
 Run your application on-premises or in the cloud.

4.1.3 Angular2
Angular is a structural framework for dynamic web apps. It lets you use HTML as your
template language and lets you extend HTML's syntax to express your application's components
clearly and succinctly. Angular data binding and dependency injection eliminate much of the
code you would otherwise have to write.

4.1.4 MongoDB
MongoDB is a Document-Oriented NoSQL Database. It is cross-platform and open-
source. Mongo uses JSON like documents with schemas and stores it in the form of BSON or
simply put a binary encoded format. It is also mostly written in C/C++ with some parts in
javascripts and because of this low level implementation and document oriented nature it is very
performant and highly scalable.

That why we select it as our database.

E-Academy 33
Chapter 4 System Implementation

4.1.5 mLab
mLab is a fully managed cloud database service that hosts MongoDB databases. mLab
runs on cloud providers Amazon, Google, and Microsoft Azure, and has partnered with platform-
as-a-service providers.

We use it to save our data online.

4.1.1 WebRTC
WebRTC is a free, open project that provides browsers and mobile applications with
Real-Time Communications (RTC) capabilities via simple APIs over peer-to-peer connections.
The WebRTC components have been optimized to best serve this purpose.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

We are using it for live lectures via real time communication.

4.1.2 Robomongo
Robo 3T (formerly Robomongo) is the free lightweight GUI for MongoDB enthusiasts.
MongoDB GUI with embedded shell .It is a visual tool helping you manage Database
MongoDB. It is a part of free open source software supporting all of three operating systems:
Windows, Linux, Mac OS.

We are using it to visualize our database.

4.1.3 Heroku
Heroku is a cloud platform as a service (PaaS) that lets companies build, deliver, monitor,
and scale apps. Heroku bypasses infrastructure headaches. Developers use Heroku to deploy,
manage, and scale modern apps. Our platform is elegant, flexible, and easy to use, offering
developers the simplest path to getting their apps to market.

We use it to deploy our project online.

4.1.4 GitHub
GitHub is a web-based Git repository hosting service. It offers all of the distributed version
control and source code management (SCM) functionality of Git as well as adding its own
features. It provides access control and several collaboration features such as bug tracking,
feature requests, task management, and wikis for every project.

E-Academy 34
Chapter 4 System Implementation

4.2 Project Screenshots


Below are some of the screenshot of our project.

4.2.1 Login Page

Fig.4.2 – login page

4.2.2 Dashboard Page

Fig.4.3 – Dashboard Page

E-Academy 35
Chapter 4 System Implementation

4.2.3 Manage Profile (Basic Information)

Fig.4.4 – Manage Profile (Basic Information)

4.2.4 Manage Profile (Education) page

Fig.4.5 – Manage Profile (Add Education)

E-Academy 36
Chapter 4 System Implementation

4.2.5 Create Course

Fig.4.6 – Create Course (Add Title & Description)

E-Academy 37
Chapter 4 System Implementation

4.2.6 Update Course (Adding Curriculum)

Fig.4.8 – Update Course (curriculum)

4.2.7 View Course

Fig.4.9 – View Course (Page Top)

E-Academy 38
Chapter 4 System Implementation

4.2.8 Create Quiz

Fig.4.10 – create quiz (header page)

E-Academy 39
Chapter 4 System Implementation

4.2.9 Adding Service to a Group

Fig.4.11 – adding service to a group

E-Academy 40
Chapter 4 System Implementation

4.2.1 Teacher Starting Class

Fig.4.12 – Start Class

E-Academy 41
Chapter 4 System Implementation

4.2.1 Student Joining Class

Fig.4.13 – Join class

E-Academy 42
Chapter 4 System Implementation

4.2.1 Live Call in Classroom

Fig.4.14 – live call

E-Academy 43
Chapter 4 System Implementation

4.2.1 Chat in Classroom

Fig.4.15 – Chat in Class Room

E-Academy 44
Chapter 4 System Implementation

4.2.1 Share File in Classroom

Fig.4.16 – Share File in Class Room

E-Academy 45
Chapter 5 System Testing

Chapter # 5
System Testing

E-Academy 46
Chapter 5 System Testing

5 System Testing

5.1 Software Quality Assurance


A set of activities designed to evaluate the process by which products are developed or
manufactured.

5.2 Software Quality Control


Software Quality Control is the function that checks whether the software project follows
its standards processes, and procedures, and that the project produces the desired internal and
external (deliverable) products i.e. output.

5.2.1 Black Box Testing


Black box testing is also known as specification-based testing. Black box testing refers to
test activities using specification-based testing methods and criteria to discover program errors
based on program requirements and product specifications.
The major testing focuses:
1. Specification-based function errors
2. Specification-based component/system behavior errors
3. Specification-based performance errors
4. User-oriented usage errors
5. Black box interface errors

5.3 Test Case


Following are the Test Cases for our project (E-Academy):

5.3.1 Sign Up
TC1: Sign Up
Test Case ID: UC-001
Wrote By: Faheem Shah & Basit Ali
Test Type: Black box testing
Product Name: E-Academy
Test Item: Web App
Documented Date: 1-Nov-2017

E-Academy 47
Chapter 5 System Testing

Test Suite: 1a
Version Number: 1.0
Test case description: This test case is designed to successfully sign up to E-Academy
Operation procedure: 1) Go to E-Academy login page and click on sign up.
2) Clicking on sign up will open a form for user to sign up on
3) System will save user details in MongoDB and send a
verification email to user.
4) After email verifications by the user. User will be directed
to login page.
Pre-conditions: Internet is required and Web App must be running
Post-conditions: The credentials are verified and stored in MongoDB
Required test scripts: No

5.3.2 Create Course


TC2: Create Course
Test Case ID: UC-002
Wrote By: Faheem Shah & Basit Ali
Test Type: Black box testing
Product Name: E-Academy
Test Item: Web App, MongoDB
Documented Date: 1-Nov-2017
Test Suite: 1a
Version Number: 1.0
Test case description: This test case is designed to successfully create course by the
teacher or admin
Operation procedure: 1) Go to Manage Courses page of E-Academy
2) Click on ‘Create Course’
3) E-Academy will open a window with form to create course.
4) After providing valid credentials user will submit the form.
5) System will store course in MongoDB

E-Academy 48
Chapter 5 System Testing

Pre-conditions: Internet is required, Web App must be running and user must be
logged in.
Post-conditions: course will be created and shown to the user
Required test scripts: No

5.3.3 Create Quiz


TC3: Create Quiz
Test Case ID: UC-003
Wrote By: Faheem Shah & Basit Ali
Test Type: Black box testing
Product Name: E-Academy
Test Item: Web App, MongoDB
Documented Date: 1-Nov-2017
Test Suite: 1a
Version Number: 1.0
Test case description: This test case is designed to successfully create quiz
Operation procedure: 1) User will go to his E-Academy Assessments page
2) Click on ‘Create Quiz’
3) E-Academy will open a window with form to create quiz.
4) After providing valid credentials user will submit the form.
5) User will be provided with new from for questions setting.
6) After providing all questions user will submit the form.
7) System will store quiz in MongoDB.
Pre-conditions: Internet is required, Web App must be running, user must be
logged in and must have created at least one course
Post-conditions: Quiz will be shown in due quizzes list.
Required test scripts: No

5.3.4 Join Course


TC4: Join Course

E-Academy 49
Chapter 5 System Testing

Test Case ID: UC4


Wrote By: Faheem Shah & Basit Ali
Test Type: Black box testing
Product Name: E-Academy
Test Item: Web App, MongoDB
Documented Date: 1-Nov-2017
Test Suite: 1a
Version Number: 1.0
Test case description: This test case is designed to successfully join E-Academy course
by registered student.
Operation procedure: 1) Student goes to E-Academy’s All Courses page
2) Student will be presented with all available courses.
3) Student will select the course to be joined.
4) Student will click on join course option.
5) Student will be notified after process completion.
Pre-conditions: Student must be logged in, Internet is required and Web App must
be running
Post-conditions: Student will be enrolled in the course.
Required test scripts: No

5.3.5 Assign Service to a Group


TC5: Assign Service to a Group
Test Case ID: UC-005
Wrote By: Faheem Shah & Basit Ali
Test Type: Black box testing
Product Name: E-Academy
Test Item: Web App
Documented Date: 1-Nov-2017
Test Suite: 1a
Version Number: 1.0

E-Academy 50
Chapter 5 System Testing

Test case description: This test case is designed to successfully assign a service to a
particular group.
Operation procedure: 1) Admin goes to E-Academy’s groups page
2) Admin select a particular group from all available groups
3) Admin will drag a service from all services to the group
services.
4) Service will be added to the group.
Pre-conditions: Internet is required, Web App must be fully loaded and Admin
must be logged in
Post-conditions: Service successfully added to the group
Required test scripts: No

5.3.6 Submit Assignment


TC6: Submit Assignment
Test Case ID: UC-006
Wrote By: Faheem Shah & Basit Ali
Test Type: Black box testing
Product Name: E-Academy
Test Item: Web App, MongoDB
Documented Date: 1-Nov-2017
Test Suite: 1a
Version Number: 1.0
Test case description: This test case is designed to Submit an assignment by the student of
E-Academy
Operation procedure: 1) Student goes to E-Academy’s Assignments page
2) Student clicks on a due assignment.
3) Assignment details will be presented.
4) Student clicks on upload assignment button.
5) Web App ask for select file from device.
6) Student selects and save file.
7) Web App saves Student’s assignment.
Pre-conditions: Internet is required, Web App must be running and Student must be

E-Academy 51
Chapter 5 System Testing

logged in and assignment must be due.


Post-conditions: Student assignment is submitted
Required test scripts: No

E-Academy 52
Chapter 6 Conclusion

Chapter # 6
Conclusion

E-Academy 53
Chapter 6 Conclusion

6 Conclusion
In this project we have developed a system in the form of a web application that is a learning
management system that enables teachers and students to conduct live lectures. By using this
system different academies can conduct online classes, which will help those students who
cannot physically visit the academy. It is like a virtual academy. Teachers can create, manage
and teach courses, conduct assessments and assignments using this system. Students can view
and join courses and take live lectures for the courses that are joined by them and can attempt
assignments and assessments through the system. System will keep track of attendance and
grading of students and schedule of lectures. Whereas previous works focused on either one of
these aspects. This work will be useful to the students of remote areas, who can’t personally visit
the academic institutes. As well as for special students who can’t go out from their home for
studies.

E-Academy 54
Chapter 7 References

7 References
1. https://nodejs.org/en/
2. https://loopback.io/
3. https://angular.io/
4. https://www.mongodb.com/
5. https://mlab.com/
6. https://robomongo.org/
7. https://github.com/
8. https://www.heroku.com/
9. https://trello.com
10. https://www.udemy.com/nodejs-express-mongodb-dev-to-deployment/
11. https://stackoverflow.com/

E-Academy 55

Potrebbero piacerti anche