Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
E-Academy ii
Table of Contents
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.1 Examples:
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.
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.
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.
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.
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
E-Academy 5
Chapter 2 Requirements and System Analysis
E-Academy 6
Chapter 2 Requirements and System Analysis
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.
E-Academy 7
Chapter 2 Requirements and System Analysis
2.2.1 Login
E-Academy 8
Chapter 2 Requirements and System Analysis
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
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
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
E-Academy 11
Chapter 2 Requirements and System Analysis
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
E-Academy 13
Chapter 2 Requirements and System Analysis
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:
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.
E-Academy 16
Chapter 3 System Design
3.1.3.1 Post
3.1.3.2 Patch
3.1.3.3 Update
3.1.3.4 Delete
3.1.3.5 Get
E-Academy 17
Chapter 3 System Design
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.
E-Academy 18
Chapter 3 System Design
E-Academy 19
Chapter 3 System Design
E-Academy 20
Chapter 3 System Design
E-Academy 21
Chapter 3 System Design
E-Academy 22
Chapter 3 System Design
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.
E-Academy 24
Chapter 3 System Design
E-Academy 25
Chapter 3 System Design
E-Academy 26
Chapter 3 System Design
E-Academy 27
Chapter 3 System Design
E-Academy 28
Chapter 3 System Design
E-Academy 29
Chapter 3 System Design
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:
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:
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.
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.
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.
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.
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.
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
E-Academy 35
Chapter 4 System Implementation
E-Academy 36
Chapter 4 System Implementation
E-Academy 37
Chapter 4 System Implementation
E-Academy 38
Chapter 4 System Implementation
E-Academy 39
Chapter 4 System Implementation
E-Academy 40
Chapter 4 System Implementation
E-Academy 41
Chapter 4 System Implementation
E-Academy 42
Chapter 4 System Implementation
E-Academy 43
Chapter 4 System Implementation
E-Academy 44
Chapter 4 System Implementation
E-Academy 45
Chapter 5 System Testing
Chapter # 5
System Testing
E-Academy 46
Chapter 5 System Testing
5 System Testing
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
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
E-Academy 49
Chapter 5 System Testing
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
E-Academy 51
Chapter 5 System Testing
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