Demo E-Learning System Graduation Project Documentation
Demo E-Learning System Graduation Project Documentation
Team Members
Supervisors
( IT ) ( Business )
Prof. Dr. Atef Zaki Ghlawash Prof. Dr. Nabil Salah
Year 2021
i
DEDICATION
To every member of our families who helped us a lot in our educational life
and to every doctor in our beloved faculty (BIS) that we had the honor to
learn from them.
ii
ACKNOWLEDGMENT
iii
DECLARATION
We hereby certify that this material is entirely our own work, that we have exercised
reasonable care to ensure that the work is original and does not to the best of my
knowledge breach any law of copyright and has not been taken from the work of others
save and to the extent that such work has been cited and acknowledged within the text
of our work.
Signed:
Menna Magdy
Mario Mamdouh
Date: 10/7/2021
iv
ABSTRACT
Human history is observing a very strange time fighting an invisible enemy; the novel
COVID-19 or coronavirus. Initially observed in the Wuhan province of China, now
spreading too fast around the world, taking our loved ones, causing many losses, and
forcing us to stay at home.
But with the emergence of new technologies such as the internet, it is now possible to
work, learn, and do lots of stuff while we are at home. And as we know, Learning is an
essential process to keep acquiring new understanding, knowledge, behaviors, skills,
values, attitudes, and preferences. We define electronic learning (or E-learning for
short) as courses that are specifically delivered via the internet to somewhere other than
the classroom where the professor is teaching.
Between multiple options, it is very crucial to select the best learning resource that
guarantees a straightforward learning process and provides you with the essential and
best tools to learn fast and easily. so in this documentation you will find a new e-
learning system (Demo) that we have developed for students and teachers all over the
world in general and students and teachers in Arab countries particularly.
The system objectives briefly is to introduce a new user friendly online learning
platform that increases students interaction and make their learning experience more fun
and to help teachers create courses easily and to provide courses from authorized and
verified teachers and educational institutions, also providing wide range of quizzes, tests
and assignment questions.
This online learning system in order to be built we hade to specify it’s requirements and
what user needs and what systems itself needs and we used different methods in order to
make the system analysis, design and implementation like UML (unified modelling
language) diagrams and in order to make the web application coding we used different
front and back end programming languages like (HTML, CSS, JavaScript) and MySQL
databases.
v
TABLE OF CONTENTS
Content Page
1.1 Introduction……………………………..………………………………... 1
vi
3.2 Main Purpose of the Website ………………………………. 32
vii
6.12 Agile Methodology…………………………………………… 76
REFERENCES………………..…….......................................... 85
APPENDICES………………..……........................................... 86
viii
LIST OF FIGURES
Figures Page
Figure (1.1) COVID-19 around the world. 1
Figure(3.2) Data Flow Diagram Level 1 for Demo online learning system 37
ix
Figure (5.2) Agile Methodology 76
x
LIST OF TABLES
Tables P
a
g
e
Table 1.1 Coursera review 7
xi
Table 3.1 System users 3
2
Table 3.2 Non-Functional Requirements 3
4
xii
LIST OF ACRONYMS/ABBREVIATIONS
xiii
Chapter One
1 INTRODUCTION
1.1 Introduction
The world we live in has been through a lot of hard situations through history of
humankind, we went through a lot of economic crises and a lot of healthcare crises and
a lot of diseases and wars which lead to a large numbers of injuries and deaths and we
have seen a lot of disasters that have hit a lot of countries. But starting from Dec 2019
we have a faced a new enemy which is invisible and we can easily detect it and it came
in the time that we wasn’t ready for it every country has it’s problems already, COVID-
19 made a fatal impact in the worldwide, according to (WHO) and Centers for Disease
Control and Prevention (CDC) COVID-19 is derived from a family of viruses known
as coronavirus Which is a disease that infects and have negative impact on the overall
health of both humans and animals and the virus spreads between people by the spread
of the small infected droplets that comes from the nose or the mouse of the infected
person. [1],[2]
COVID-19 until this period of time lead to a catastrophic results about 3 million deaths
and 144 million confirmed cases.[3]
Of course this crises made a fatal impact on students in schools and universities and
stopped the education on all levels but the bright side after all these crises we have gone
through that we as humas mange to move on and keep going froward and we adapt to
whatever circumstances we go through we keep building, learning, studying and
working and our project is a huge proof for that we can keep learning.
Our project is a web application that provides online courses and educational content for
anyone who wants to learn a certain skill or get to know more about a certain topic and
this project is based on e-learning concept.
1
Since 2000 The growth of online courses has started and the growth of e-learning has
been massive , Enrollment in online programs has more than doubled in the last few
years, and this trend is likely to continue , Several factors contribute to the growth of
online learning: enhancement of technology, perceived value and the need for online
courses won’t end for example , current circumstances because the covid-19 virus as we
mentioned, the only source for learning and gaining experiences is online courses and
online trainings. [4]
E-learning has a lot of benefits that solves a lot of problems for both teachers and
students as it reduces costs, saves a lot of time and removes location barriers. Actually a
former survey and a study made in the United States showed that there are a large
number of students have enrolled in a huge number of online courses in 2004 The
number of the students was reported to be 2.35 million student. The survey also
indicated and maintained that the curve of distance education and E- Learning is
increasing rapidly and many organizations started heading for online education and that
there is a Global direction of reliance on the online education in the high education and
high level universities as its essential to depend on these high level organizations and
institutions to provide high quality in E-learning industry as a whole.[5]
One of the most important motives that led us to start developing this online learning
web application to provide features and options that is not provided in existing systems
and also to make the website user friendly as much as possible and to help the user to be
comfortable and provide the tools that the user might want or use so as to that the user
have the best online learning experience.
According to Mahalakshmi, Kumar & Saravanakumar (2020) the need for an enhanced
and a developed e-learning system has evolved to be a mandatory and a necessary and
an essential component in all levels of education especially in the COVID 19 crises and
it’s pandemic as there is an urgent need for e-learning web application that gives the
user the options and the features they look for and the e-learning systems right now is
required by all educational sectors schools, educational institutions, universities and
training centers as this pandemic we are going through made a huge lock down on all
countries in the world and all the world suffered from it.This crises exposed the huge
disadvantages of the traditional educational learning system (location barriers, high
costs, delays, lake of educational tools, time loss, etc..) and the e-learning system and
distance learning comes with a lot solutions and benefits to solve the problems students
and teachers face in traditional education, Enhanced tools and technological techniques
that solves a lot of problems we face also online learning leads to cost reduction and it
can’t be stopped because location barriers as it’s accessed from anywhere where there is
an internet connection and also it is consistent and it’s faster and easily managed and
implemented. [6]
2
5- Making the learning as a process available at any time from any place
6- Providing necessary technological tools which the student/teacher will need in
his learning process
7- Enhancing learning experience through gamification
1.4 Project scope
Our project scope is to establish an user-friendly online learning platform that supports
the teacher and helps him provide educational content easily and supports the student to
have an efficient online learning experience and to support also Egyptian/Arab
universities and educational institutions to provide information and courses for students
online.
HTML
HTML is the set of markup symbols or codes inserted in a file intended for display on a
World Wide Web (WWW) browser page. HTML stands for Hypertext Markup
Language. The markup tells the Web browser how to display a Web page’s words and
images for the user. Each individual markup code is referred to as an element, some
elements come in pairs that indicate when some display effect begins and when it is to
end.
CSS
CSS stands for Cascading Style Sheets. It describes how HTML elements are to be
displayed on screen, paper, or in other media. It saves a lot of work and can control the
layout of multiple web pages all at once. CSS gives more control over the appearance of
a Web page to the page creator than to the browser designer or the viewer.
JAVASCRIPT
JavaScript is among the most powerful and flexible programming languages of the web.
It powers the dynamic behavior on most websites, including this one. JavaScript is a
lightweight, interpreted programming language. It is designed for creating network-
centric applications. JavaScript is very easy to implement because it is integrated with
HTML. It is open and cross-platform.
jQuery
a JavaScript library designed to simplify HTML DOM tree traversal and manipulation,
as well as event handling, CSS animation, and Ajax. It is free, open-source
software using the permissive MIT License. As of May 2019, jQuery is used by 73% of
the 10 million most popular websites. Web analysis indicates that it is the most widely
deployed JavaScript library by a large margin, having at least 3 to 4 times more usage
than any other JavaScript library.
jQuery's syntax is designed to make it easier to navigate a document,
select DOM elements, create animations, handle events, and develop Ajax applications.
jQuery also provides capabilities for developers to create plug-ins on top of the
JavaScript library. This enables developers to create abstractions for low-level
interaction and animation, advanced effects and high-level, themeable widgets. The
modular approach to the jQuery library allows the creation of powerful dynamic web
pages and Web applications.
3
BOOTSTRAP 4
Bootstrap 4 is the newest version of Bootstrap with new components, faster stylesheet
and more responsiveness. And it supports the latest, stable releases of all major
browsers and platforms. However, Internet Explorer 9 and down is not supported. And
Bootstrap itself is a free front-end framework for faster and easier web development,
Bootstrap includes HTML and CSS based design templates for typography, forms,
buttons, tables, navigation, modals, image carousels and many other, as well as optional
JavaScript plugins, Bootstrap also gives you the ability to easily create responsive
designs, we use it because it is Easy to use: Anybody with just basic knowledge of
HTML and CSS can start using Bootstrap and what it has of Responsive
features: Bootstrap's responsive CSS adjusts to phones, tablets, and desktops, and its
Mobile-first approach: In Bootstrap, mobile-first styles are part of the core framework
and its Browser compatibility: Bootstrap 4 is compatible with all modern browsers
(Chrome, Firefox, Internet Explorer 10+, Edge, Safari, and Opera).
Back end
APIs
API is the acronym for Application Programming Interface, which is a
software intermediary that allows two applications to talk to each other.
Tools
Nodejs server
Node.js is an open-source, cross-platform, back-end JavaScript runtime
environment that runs on the V8 engine and executes JavaScript code outside a
web browser. Node.js lets developers use JavaScript to write command line tools
and for server-side scripting—running scripts server-side to produce dynamic
web page content before the page is sent to the user's web browser.
Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying
web-application development around a single programming language, rather
than different languages for server-side and client-side scripts.
Visual studio code
Visual Studio Code is a freeware source-code editor made by Microsoft
for Windows, Linux and macOS. Features include support for debugging,
syntax highlighting, intelligent code completion, snippets, code
refactoring, and embedded Git. Users can change the theme, keyboard
shortcuts, preferences, and install extensions that add additional
functionality.
WebRTC
WebRTC (Web Real-Time Communication) is a technology which enables Web
applications and sites to capture and optionally stream audio and/or video media, as well
as to exchange arbitrary data between browsers without requiring an intermediary. The
set of standards that comprise WebRTC makes it possible to share data and perform
teleconferencing peer-to-peer, without requiring that the user install plug-ins or any
other third-party software.
4
1.6 Project Expected output
our project as mentioned before is to develop a new online learning system that have
some features that users require and other recommended features that should in an
online learning system in order to achieve the most needed or expected output.
After gathering a lot of information about online learning different systems and
specifying the system main requirements and getting a view on what users in the e-
learning industry need and also after declaring the problem which is the reason why we
are making this project in the first place which is the spreading of COVID-19 and it’s
huge impact in people lives in different perspectives and also after we have specified
our objectives from making this project and the scope of it, We can declare that our
project ( DEMO online learning platform ) expected output is to have a well designed
and well implemented online learning system which fixes the problems found in
traditional learning in the first place and a system that include features which help users
in their whole online learning process and help them achieve the best outcomes
possible. DEMO online learning system will include a user-friendly interface which
include different pages like ( Tests, Assignments, Tools, Courses, Create, Blog) as an
output of our project. this pages in the web application should be useful for both
teachers and students in order to help them the learning process and to make it easier to
the student to learn from the educational content the teacher provides and to make it
easier for the teacher to easily create and upload courses and other educational resources
and this leads at the end to an overall more interaction between teacher and student and
an overall more efficiency in the learning process.an important note that the system
itself has outputs which is different reports for different process and users of the system,
We can consider these reports as an important outcomes of the system but they will be
available at the point that the coding and implementation of the system has reached
within the timeframe or the project schedule.
5
1.8 Related Existing Systems
In this part we will be discussing some existing e-learning working systems, online
learning or e-learning platforms and websites that we choose to make a review about
them as these systems are widely used and a large majority of online learners and
students use these websites in order to learn new skills and gain experience and to get
certificates and to register in courses, also a large portion of trainers and teachers use
these websites as a platform to publish their work and educational content like courses
and educational videos.
The systems that we will be reviewing is the following systems:
Coursera
Udemy
Skillshare
edX
LinkedIn Learning
1- Coursera Review
Coursera was founded in 2012 by two Stanford professors that decided that there was a
gap in the market for a new online learning platform. Coursera soon became a popular
choice for learners thanks to its connections with prestige institutions. These include
Stanford University, University of Michigan and John Hopkins University to name but a
few. Combining these accredited universities with a wide range of courses has meant
that Coursera is now one of the most popular ways to learn a degree online.
The difference between Coursera and other learning sites is that Coursera is able to offer
full degrees from Universities across the globe, accessible by anyone. They boast over
3600 courses ranging from short courses that only last 4 weeks to degrees which take up
to six years.
What Sort of Courses Do They Offer?
Coursera is not just for people wanting to gain a degree in a traditional subject. Coursera
has plenty of choice when it comes to their courses and all of them are from accredited
institutions. Each of the courses are split into different subheadings, all of which cater
for different people.
The Professional Certificate – This is a selection of courses that have been selected to
help people get further in their business. If you have been told that you need to develop
a certain skill in order to get a promotion, or you want to plan ahead for your career then
the professional certificates look great on your resume and will stand out to any
potential employer.
The MasterTrack Certificate – The MasterTrack certified courses help you gain degree
credits in that specialism. If you are looking to tailor your degree with specific
information that you think is going to help your future, rather than working on a
traditional syllabus, then MasterTrack courses are the ones for you.
Specialization Courses – These courses are for people already working within a certain
industry that need additional knowledge within their specialism. They expand your
knowledge and help you within your career.
Degree Courses – You can utilise the huge benefit of learning online and gain a degree
from any part of the world. Coursera has a huge range of institutes from around the
globe that offer lots of different degree subjects from business to theology.
6
Free courses – Of course there are also course that are available for free and these can
be accessed by anyone, from anywhere.
How Much Are These Courses at Coursera? Coursera has lots of free courses, however
if you want to gain a more “stand out” qualification then you are going to have to
contribute towards it. Courses start from as little as $39 and can be as high as $24,000.
It all depends on what you are looking for in a course and whether you are willing to
commit the same amount of energy as you are money. But for this price tag, you don’t
just receive the course itself. You also gain access to mobile learning (learn wherever
you can as long as you have a compatible device), technical support, a learning
community and shareable certificates.
Advantages Disadvantages
A wide range of subjects available Not as many lifestyle courses as
including computer science, other online learning platforms.
business and design. Some course providers aren’t as
A variety of qualification levels consistent as others.
from beginners’ short courses to Higher level courses can be very
full length master’s degrees. expensive.
Courses available from reputable As you can see there is a
institutions. balance of pros and cons when
Courses from around the globe, in reviewing Coursera. To decide
many different languages. if Coursera is for you, you could
Different pricing structures for try a free course and see if the
different needs learning style is for you.
7
More recently Udemy branched out to cater for businesses and larger organisations,
allowing independent instructors to deliver courses to entire companies and develop
their team’s skills.
How Much Does Udemy Cost?
The cost of Udemy courses vary greatly and while many of them are around the $200
mark, you will find that Udemy has offers, coupons and deals available to help you keep
the price down. You will find these deals on their website, on their Facebook page and
on their twitter feed to. Many of the instructors also offer discount codes for their
specific course so if you see one you like, its worth checking out the instructor’s website
to see if they have a course code on there too. These promocodes can bring the price
down by sometimes $100 or more so it is well worth hunting for them so them.
Advantages Disadvantages
An enormous range of courses Not accredited by traditional
from yoga to leadership skills. Institutions.
Unique courses created by industry Courses can’t be used for
professionals. university credit.
Great discount codes available. Quality varies since Udemy is
Ability to learn on the go. open to anyone, the quality of
Lifetime access to your courses. courses can vary immensely.
Great for business training Some are not very thorough and
solutions. in-depth, and you might be left
Ability to engage with the feeling ripped off even for the
instructors. $10 price tag of some courses.
Great for people to share their That's why it's important to do
knowledge some research into the course
instructor and look at reviews.
Udemy courses offer you
completion certificates. But
chances are, any future
employers won't give much
weight to them compared to
those from universities and
more official institutions.
Udemy courses are best for
learning a specific skill for
yourself, not to add to your
resume
8
good, with 69% of the reviews on TrustPilot being 5 stars. Other comments are about
the pricing structure and how it can fluctuate greatly. Overall the reviews are mixed and
that is reflected in the TrustScore.[8]
3- Skillshare Review
Skillshare is a online learning platform for people who want to learn new
skills or improve existing ones. It launched in 2012 with just 25 courses at
the time. The platform is constantly growing and now they have thousands
of classes in different niches. Skillshare gives their members unlimited
access to classes for a monthly subscription fee, plus they also offer a lot of
free classes. Skillshare courses are not accredited and you won't get any
certificate at the end. You will get something better though - skills that can
be applied in real life.
Advantages Disadvantages
9
Table ( 1.3 ) Skillshare review
The chance to learn for learning’s sake is a good reason to proclaim that Skillshare is a
good e-learning platform. The hands-on projects and ability to connect with others,
including experts in your desired fields of knowledge, makes the $10 a month fee a
bargain. The onus is on the user to determine which courses would bring you the most
value, whether you aim to bolster your resume with sparkling competitive skills or
assert yourself as a professional hobbyist.[9],[10]
4- edX Review
edX is a nonprofit organization founded by MIT and Harvard. It offers 3,000
courses and programs from 140 different institutions. edX is the leading
online learning platform that has 25 million learners worldwide.
Advantages Disadvantages
10
edx Pricing
You can take any edX course, with the exception of professional education
courses, for free. To enroll in the course without paying you would need to
select the audit option on the course information page. You will get access to
all course materials (lectures, videos, readings, and ungraded assignments)
but you won't be offered a certificate of completion and graded assignments.
To earn a certificate you would need to enroll in the verified track. The fees
vary, with each course costing between $50 and $300. You can share
certificates on CV, resume, college or job applications, LinkedIn profile,
etc.[11]
11
Demo Online Learning Platform
Main Features:
Many Options for Courses available for the user to choose from (Free-Low-
priced-Premium courses)
Certificates of completion
Tests Page
Assignments Page
12
Table (1.6) Demo Features
in the next chapters we will discuss our system business plan, analysis,
design, implementation, testing and our future work.
1.9 Survey Results
13
14
15
16
Main Desired Features and Recommendations from people who made the Survey:
Include Helpful tools in to enhance Programming courses learning process (Text
editor, complier)
More enhancement and Support for Arabic content
Enhance interaction between learner and teacher (Q&A, Live sessions, contact)
Provide low priced/free certificates of completion
Adding more features in courses videos (like features in Youtube videos)
Provide professional instructors
providing written documents
More organization for educational content and make it easy to choose courses
and see its information
17
Chapter Two
2 BUSINESS PLAN
The extra value that we are welling to offer is a unique E-learning website that serve
students overall the world as well as professors and teachers with all the set of tools that
makes the learning process easier by combining different features that could be hard to
18
find in one place ( one website ),Hence we are introducing our website that has live all
is passionate about learning new skills and gaining knowledge to find a variety of
courses and learning tools with affordable and standard prices that depends on the user’s
budget
chosen wisely for the graduation project for a website development. We started this
Our mission
Our mission is to offer the most useful, powerful and quickest way to find Courses with
Our vision
Short statement:
19
To be the most competitive E-Learning website across the world that gather the most
Long statement:
Becoming the best and only E-learning website that deliver the most trusted courses,
perfect tools and unique features that’s always available for users from overall the
world.
Objectives
Marketing objectives:
Increase marketing efforts to maintain and join the competition in offering the best price
Financial objectives:
Increase profit to develop new offers and add-on new courses and useful tools.
Goals
-Enable students overall the world to have access to one place where they can find the
set of courses and tools that helps them improve their skills.
-Establish connection between students and teachers or professors via live sessions to
meet their requirements and to make sure they understood every piece of information
-Increase the culture of searching and learning from the free online sources.
-Provide a unique set of tools and features that makes the learning process much easier
than before
reach specific users in Egypt, Hence we had to specify the number of people who are
20
using the internet in Egypt in 2021 and they are roughly 49,231,493m out of
102,334,404 and the number people who are not using the internet are 53,102,911m,
The percentage that uses the internet is 48.1% hence the non-users are 51.9%, Therefore
we are targeting adults, middle level income people and all family circumstances
professors.
Target market:
People who are passionate about learning new skills and gaining unlimited knowledge
Customer needs:
-Reduce time searching for the courses
-Provide a feedback.
and more than payment option starting from free to paid with no ads
Service:
-We are aware of the other services offered in the market, but we are joining the
competition by offering a unique set of tools that could be hard to find in one
21
Features:
Customize your budget, you can join for free with some ads to be watched or as
premium with no interruptions
Competitor offers.
Future features:
New courses to be added on the website.
Downloading he courses
Mobile application
Competition
Our competitors who are providing the same service are not combining the set of options
and tools we have improved and applied in our website (DEMO) which are the features
that any client would love to have in one place.
Connect our users who needs the service with the suppliers of our services (teachers &
professors) who are assisting via live sessions.
Giving the client the freedom to choose the options they need and the courses they are
interested in as well as offering different payment options.
Added value for customer:
-Registering with trusted website become much easier with signing in options like (google,
Facebook).
-The website will save your time and effort of finding the courses you are looking for with
the quickest way of searching.
-Availability of the website 24/7
-Having a website that combines all the tools that you might not find on other competitive
websites
-Live session with trusted professors and teachers
-Ability to send feedback
Add value for us:
-The first website in Egypt helping Students and teachers from anywhere, anytime to find
their own need, Improving their skills and with minimum cost for the users and highest
profit for us.
-Submit feedbacks from users experience on our service.
How to get a position in the E-learning competition environment?
A very good customer relationship.
22
2.7 Market strategy:
Marketing goals:
1st month: 1000 visitors, 20 reserved courses.
Pre-launching:
Our website can solve the problem of finding an E-learning website that combine the most
useful and powerful tools and features in one single place as discussed previously.
Post-launching:
The advertisement that we would make to spread our website and make it viral in all social
media to let people know more about the website, depending on the word of mouth.
owner (teacher or professor of the course ) and the users (students or any individual) , as
users must be satisfied from the website, hence the website is successfully organized and
has a perfect sequence interface which has made the user’s experience outstanding.
23
Table (2.2) SOWT Analysis
Positioning:
Our website is the tool that offers opportunities and skills for free to anyone, anywhere.
Through an easy way of accessing the data you are looking for, Couple of clicks to sign in
and we will take you to the new level of knowledge and skills, Improving your abilities
and expanding your mind all you need to do is to apply for service and reserve your own
Availability after launching the website, so customers can get all the attention for their
requests. Our website is one of a kind as you will find live sessions that would be available
in our website which can make the user communicate about the course they have chosen
Branding:
Ambition accepted. Learn the latest skills to reach your professional goals.
Promotion:
-The internet-based marketing plays vital role; the user can find us on the social media
-Through the marketing there are discounts and points scheme attract users to our website.
Price:
-We have three payment options
-Separate price for each course depending on the market and the competitors’ standard
price
24
Training plan:
-Experts advice
-Give a reward
-Working without any wages to save money for our budget for the first couple of
months
A) The first and second one, are to manage the social media of our website
B) The third and the fourth one to manage our marketing plan, the team leaders
2. 9 Financial plan:
Legal form
The legal form of the business will be:
Reason for choosing this legal form,
What is 'Limited Partnership - LP'
A limited partnership (LP) exists when two or more partners unite to jointly
conduct a business in which one or more of the partners is liable only to the extent of
the amount of money that partner has invested. Limited partners do not receive
dividends but enjoy direct access to the flow of income and expenses. This term is also
structure is that the owners are typically not liable for the debts of the company.
are three forms of partnerships: general partnership, joint venture and limited
partnership. The three forms differ in various aspects, but they share similar features.
25
In all forms of partnerships, each partner is required to contribute resources such as
property, money, skill or labor in exchange for sharing in the profits and losses of the
business. At least one partner is involved in making decisions regarding the day-to-day
Though not a legal requirement, all partnerships require a partnership agreement that
specifies how to make business decisions. These decisions include how to split profits
or losses, resolve conflicts and alter ownership structure, as well as how to close the
business, if necessary.
liability for debts are shared in equal proportion among the partners. If they plan to
agreement, to avoid future disputes. A joint venture is a form of general partnership that
A limited partnership differs from other partnerships in that the partners are allowed to
have limited liability. This means that partners are only liable for the business’ debts up
to a certain limit. This limit depends on the individual partner’s investment contribution.
A limited partnership venture is run by one or two partners known as general partner( s).
Other contributors, known as limited or silent partners, provide capital but aren’t
Limited Partnership Act, which was amended in 1985. It was originally known as the
Limited Partnership Act, created in 1916 and adopted by 49 states, plus the District of
Columbia.
26
To form a limited partnership, the partners must register the venture in the applicable
state, typically through the office of the local Secretary of State. It is important to obtain
all relevant business permits and licenses, which vary based on locality, state or
industry. The U.S. Small Business Administration lists down all local, state and federal
Start-Up Capital
Estimation of start-up capital Amount
INVESTMENT
Land 10,000
Building 6000
Equipment 11,000
Miscellaneous 3000
WORKING CAPITAL
Land 10,000
Building 6000
Equipment 11,000
Tools 4000
27
Transport 9000
Miscellaneous 3000
43,000
1 Team Manager
2 Menna Magdy HR
5 Safwan Ashraf IT
28
Figure (2.1) Planned organization chart
Staff Costs
29
Profit Margin
Monthly Estimation of Net Profit
Months 1 2 3 4 5 6 7 8 9 10 11 12
Total
644,000 11,000 17,500 30,500 30,000 19,000 50,000 47,000 60,000 69,000 107,500 85,000 117,500
Sales
Total
143,000 11917 11917 11917 11917 11917 11917 11917 11917 11917 11917 11917 11917
Costs
I-II
Profit
501,000
(Before
tax)
-
Income
(50,100)
tax
10%
Net
450,900
Profit
Table (2.9) Profit Margin
Current Assets
Cash
30
Chapter Three
3 SYSTEM ANALYSIS
3.1 Introduction
In this chapter we will be explaining and discussing a lot of aspects about our system
which is the e-learning web application, in this section specifically will be talking about
the technical part and the technical architecture of our e-learning system what are our
users and their descriptions and how they should be using and accessing the system and
the system itself should be generated
The main purpose of our website is to provide beneficial educational content for users
and help people share their knowledge in an easy usable and convenient environment.
Users Description
31
Learners/Students They log into the website to access the educational content and benefit
from it wether it was a video, audio, article, images or any available
content they could access in system, and they were will be able also to
interact with the website and use tools to help them in their learning
process and they will be able to get certificates after finishing courses.
Teachers/Trainers Will have access to the system to add, edit, modify or delete the content they will
be sharing with students content like courses and materials related to courses
videos and audios and etc.
Database Admin Will be involved with data integrity and database performance issues and
will be responsible for database maintenance if needed and will be
responsible also for storing, adding, modifying and dealing the users data
in the website .
Developing and The team will be responsible for developing the website and to enhance its
programming overall tools and interface and its interaction and responsiveness with
team users and they will be responsible for fixing any errors or bugs and to
make maintenance for any part or page or section in the website if needed
and they must always ensure that the user is having the best learning
experience.
Profiles Admins Admins of universities, companies or any educational institution that will
be provided within our website, they have access to the website in order to
add their information or edit it and to add their details and their
educational content and what they want to share to the students.
General Staff The general staff is other people involved in the development and the
enhancement of the system ( Customer Service, Project Manager, IT,
Marketers, Designers) they will have access in order to give reports and
suggest modifications and to help customers have better experience.
Admin
32
MANAGE DEPARTMENTS: Add a new department, edit the existing
department, view details of the department and see a listing of all departments
MANAGE EVENT: Add a new event, edit the existing event, view details of
events and see a listing of all events
MANAGE FILES: Add new files, edit existing files, view details and a listing
of all files
MANAGE STUDENT: Add new student, edit the existing student, view details
of the student and see a listing of all students
MANAGE SUBJECT: Add a new subject, edit the existing subject, view
details of a subject and see a listing of all subjects.
REPORTS OF THE E-LEARNING MAMAGEMENT SYSTEM: Reports
of Activity logs, Teachers, Classes, Assignments, Departments, Events, Files,
Students and Subjects.
TEACHER
STUDENT
33
CHANGE PASSWORD: A student can change his account password from this
module.
NON- OBJECTIVE
FUNCTIONAL
REQUIREMENT
Application The system should be protected in such a manner that one registered user
Security should not be able to access another registered user’s information ensuring
privacy of information.
Database Security Users of the system should not have direct access to the database to query it
nor view data in it. The only access to the database should be via the
application interface.
Browser The application should be accessible on Google Chrome, Mozilla Firefox and
Compatibility Internet Explorer browsers on any device.
Maintainability The application should be developed so that one can easily add new products
and easily facilitate changes to product information.
Consistency The appearance and delivery of the content should be consistent to reduce the
learning curve. Layouts, buttons and the positioning of key elements should
be consistent in each page.
Context diagram
E-learning platform Data flow diagram is often used as a preliminary step to create a
summery of the E-learning without going into great detail, which can later be
elaborated.it normally, consists of overall application dataflow and processes of the E-
learning process. It contains all of the user flow and their entities such all the flow of
Student, Activity Log, Assignment, Tests, Subject, levels, specialties. All of the below
diagrams has been used for the visualization of data processing and structured design of
the E-learning process and working stream.
34
Data Flow Diagram
A Data Flow Diagram (DFD) is a traditional way to visualize the information flows
within a system. A neat and clear DFD can depict a good amount of the system
requirements graphically. It can be manual, automated, or a combination of both.It
shows how information enters and leaves the system, what changes the information
and where information is stored. The purpose of a DFD is to show the scope and
boundaries of a system as a whole. It may be used as a communications tool between
a systems analyst and any person who plays a part in the system that acts as the
starting point for redesigning a system.It is usually beginning with a context diagram
as level 0 of the DFD diagram, a simple representation of the whole system. To
elaborate further from that, we drill down to a level 1 diagram with lower-level
functions decomposed from the major functions of the system.
35
Context Diagram
36
Data Flow Diagram (DFD) Level 1
Figure(3.2) Data Flow Diagram Level 1 for Demo online learning system
37
3.8 UML Diagrams
Unified Modeling Language (UML) is a standardized general-purpose modeling
language in the field of object-oriented software engineering. UML includes a set of
graphic notation techniques to create visual models of object-oriented software systems.
UML combines techniques from data modeling, business modeling, object modeling,
and component modeling and can be used throughout the software development life-
cycle and across different implementation technologies.
Goals of UML The UML was invented primarily to address the challenges faced in the
design and architecture of complex systems. The basic objectives or goals behind UML
modeling are (James, Unified Modeling Language Reference):
Define an easy to use and visual modeling language for modeling a system's structure
Provide extensibility
Be language and platform independent so that it can be used for modeling a system
irrespective of the language and platform in which the system is designed and
implemented
Incorporate the best possible practices at par with the industry standards
Provide support for Object Orientation, design and apply frameworks and patterns.
Use case diagram Model how users, displayed as stick figures called “actors,” interact
with the system. This type of UML diagram should be a high-level overview of the
relationships between actors and systems, so it can be a great tool for explaining your
system to a non-technical audience.
38
Figure(3.3) Use Case Diagram for Student E-learning system
39
Figure(3.4) Use Case Diagram for Teacher in the E-learning system
40
Figure(3.5) Use Case Diagram for Administrator in the E-learning system
Activity Diagram
this diagram to illustrate the flow of control in a system and refer to the steps
involved in the execution of a use case. We model sequential and concurrent activities
using activity diagrams. So, we basically depict workflows visually using an activity
diagram. An activity diagram focuses on condition of flow and the sequence in which
it happens. We describe or depict what causes a particular event using an activity
diagram. And it is use to visualize the steps performed in a use case—the activities can
be sequential, branched, or concurrent. This type of UML diagram is used to show the
dynamic behavior of a system, but it can also be useful in business process modeling.
41
Figure(3.6) Activity Diagram for Student and Teacher
42
Figure(3.7) Activity Diagram for Admin Manage universities
43
Sequence diagram
Sequence diagrams describe interactions among classes in terms of an exchange of
messages over time. They are also called event diagrams. A sequence diagram is a good
way to visualize and validate various runtime scenarios. These can help to predict how a
system will behave and to discover responsibilities a class may need to have in the
process of modeling a new system.
44
Figure (3.9) Sequence Diagram Student
45
Figure(3.11) Sequence Diagram for ( Admin, Student, Professor)
46
Chapter Four
4 SYSTEM DESIGN
4.1 Introduction
In this chapter we will be discussing the System design and it’s one of the most
important phases in the system development life cycle, As in this phase we transform
our system requirement into a designed solution that can be implemented this step is
very important and it mut be done efficiently and the design must be made considering
user requirements and wants and what the user wish to have in the system, Another
important consideration while design the system is that the system should be user-
friendly as much as possible so it can be used easily by everyone.
We will be showing Entity Relationship Diagram (ERD), the database schema and our
system human interface and our web application different pages and their design.
Cardinality:
Defines the numerical attributes of the relationship between two entities or entity sets.
47
One-to-One Relationships
One-to-Many Relationships
May to One Relationships
Many-to-Many Relationships
48
49
50
51
52
53
54
55
56
57
DEMO Online Learning System Database Tables
58
4.3 System Design: Human Interface
Homepage
59
Login
Register
All Courses
60
Add Course
Blog
61
Course Details
62
Universities page
Tests page
63
Test
Assignments page
64
live Session page
Books page
65
Editor page
Pricing page
66
4.4 Admin Interfaces
Admin Home
Admin Analytics
Courses table
67
Teacher Table
Students Table
68
Chapter Five
5 SYSTEM IMPLEMENTATION
1. XAMPP- This will be the primary tool for developing MySQL databases,
administrating the database and for running the website on a local machine.
2. PHP My Admin ( For accessing database and manage it): phpMyAdmin is a free
software tool written in PHP, intended to handle the administration
of MySQL over the Web. phpMyAdmin supports a wide range of operations on
MySQL and MariaDB. Frequently used operations (managing databases, tables,
columns, relations, indexes, users, permissions, etc..) can be performed via the
user interface, while you still have the ability to directly execute any SQL
statement.
3. Visual Studio Code: Visual Studio Code is a lightweight but powerful source
code editor which runs on your desktop and is available for Windows, macOS
and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js
and has a rich ecosystem of extensions for other languages (such as C++, C#,
Java, Python, PHP, Go) and runtimes (such as .NET and Unity).
4. Nodejs: is an open-source, cross-platform, back-end JavaScript runtime
environment that runs on the V8 engine and executes JavaScript code outside
a web browser. Node.js lets developers use JavaScript to write command line
tools and for server-side scripting—running scripts server-side to
produce dynamic web page content before the page is sent to the user's web
browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm,
unifying web-application development around a single programming language,
rather than different languages for server-side and client-side scripts.
5. Nodejs Packages (dependencies):
{ "body-parser": "^1.19.0",
"cors": "^2.8.5",
"express": "^4.17.1",
"express-session": "^1.17.2",
"mysql": "^2.18.1",
"nodemailer": "^6.6.2",
"socket.io": "^4.1.2",
"twilio": "^3.64.0",
"websocket": "^1.0.34”}.
69
The database tables were created manually using the information from the design phase
of the project. The primary and foreign keys were also created. The tables were
populated with data to ensure the datatypes were correct and to ensure all entity
integrity and referential integrity rules were enforced. The full database design the
entity relationship diagram and the database logical structure and schema are included
the system design chapter, Also screen shots of coding completed of the database and
the whole web application far are included in Appendix.
70
Chapter Six
6 TESTING METHODOLOGY
Software Testing Methodology is defined as strategies and testing types used to certify
that the Application Under Test meets client expectations.
The key to releasing high quality software that can be easily adopted by your end users
is to build a robust testing framework that implements both functional and non-
functional software testing methodologies.
Functional testing involves testing the application against the business requirements.
It incorporates all test types designed to guarantee each part of a piece of software
behaves as expected by using use cases provided by the design team or business analyst.
These testing methods are usually conducted in order and include:
● Unit testing
● Integration testing
● System testing
● Acceptance testing
71
Non-functional testing methods incorporate all test types focused on the operational
aspects of a piece of software. These include:
● Performance testing
● Security testing
● Usability testing
● Compatibility testing
Unit testing is the first level of testing and is often performed by the developers
themselves. It is the process of ensuring individual components of a piece of
software at the code level are functional and work as they were designed to.
Developers in a test-driven environment will typically write and run the tests prior to the
software or feature being passed over to the test team. Unit testing can be conducted
manually, but automating the process will speed up delivery cycles and expand test
coverage.
Unit testing will also make debugging easier because finding issues earlier means they
take less time to fix than if they were discovered later in the testing process. TestLeft is
a tool that allows advanced testers and developers to shift left with the fastest test
automation tool embedded in any IDE.
After each unit is thoroughly tested, it is integrated with other units to create
modules or components that are designed to perform specific tasks or activities.
These are then tested as a group through integration testing to ensure whole segments
of an application behave as expected (i.e, the interactions between units are seamless).
These tests are often framed by user scenarios, such as logging into an application or
opening files. Integrated tests can be conducted by either developers or independent
testers and usually consist of a combination of automated functional and manual tests.
System testing is a black box testing method used to evaluate the completed and
integrated system, as a whole, to ensure it meets specified requirements. The
functionality of the software is tested from end-to-end and is typically conducted by a
separate testing team than the development team before the product is pushed into
production.
Acceptance testing is the last phase of functional testing and is used to assess whether
or not the final piece of software is ready for delivery. It involves ensuring that the
product is in compliance with all of the original business criteria and that it meets
the end user’s needs. This requires the product be tested both internally and externally,
72
meaning you’ll need to get it into the hands of your end users for beta testing along with
those of your Quality Assurance (QA) team. Beta testing is key to getting real feedback
from potential customers and can address any final usability concerns.
With the rise of cloud-based testing platforms and cyber attacks, there is a growing
concern and need for the security of data being used and stored in software. Security
testing is a non-functional software testing technique used to determine if the
information and data in a system is protected. The goal is to purposefully find
loopholes and security risks in the system that could result in unauthorized access to or
the loss of information by probing the application for weaknesses. There are multiple
types of this testing method, each of which aimed at verifying six basic principles of
security:
1. Integrity
Data integrity is the maintenance of, and the assurance of, data accuracy and consistency
over its entire life-cycle and is a critical aspect to the design, implementation, and usage of
any system that stores, processes, or retrieves data.
73
6.9 SECURITY TESTING TO ENSURE DATA INTEGRITY
Test cases for your e learning website that center around the prevention of security
threats
2. Vulnerability scanning
3. Security scanning
4. Penetration testing
5. Posture assessment
6. Security auditing
7. Risk assessment
8. Ethical hacking
9. Confidentiality
Data confidentiality is about protecting data against unintentional, unlawful, or unauthorized access,
disclosure, or theft.
Confidentiality has to do with the privacy of information, including authorizations to view, share, and use
it. Information with low confidentiality concerns may be considered "public" or otherwise not threatening
if exposed beyond its intended audience. Information with high confidentiality concerns is considered
secret and must be kept confidential to prevent identity theft, compromise of accounts and systems, legal
or reputational damage, and other severe consequences.
10. Authentication
The process or action of verifying the identity of a user or process
11. Authorization
Authorization is the function of specifying access rights/privileges to resources, which is
related to general information security and computer security, and to access control in
particular.
12. Availability
Data availability is about the timeliness and reliability of access to and use of data. It includes data
accessibility.
Availability has to do with the accessibility and continuity of information. Information with low
availability concerns may be considered supplementary rather than necessary. Information with high
availability concerns is considered critical and must be accessible in order to prevent negative impact on
University activities.
13. Non-repudiation
Non-repudiation refers to a situation where a statement's author cannot successfully dispute
its authorship or the validity of an associated contract. The term is often seen in a legal
setting when the authenticity of a signature is being challenged. In such an instance, the
authenticity is being "repudiated"
74
6.11 COMPATIBILITY TESTING
Each testing methodology has a defined test objective, test strategy, and deliverables.
Waterfall model
● Software development progresses through various phases like Requirements
Analysis, Design etc - sequentially.
● The next phase begins only when the earlier phase is completed.
75
6.12 AGILE METHODOLOGY
76
6.13 HOW TO SET UP SOFTWARE TESTING METHODOLOGIES?
Software testing methodologies should not be set up just for the sake of testing software
code. The big picture should be considered and the prime goal of the project should be
satisfied with the testing methodology.
Scheduling
● Realistic scheduling is the key to the implementation of successful testing
methodology and the schedule should meet the needs of every member of the
team.
Defined deliverables
● In order to keep all the members of the team on the same page, well-defined
deliverables should be provided. The deliverables should contain direct content
without any ambiguity.
Test approach
● Once scheduling is complete and defined deliverables are made available, the
testing team should be able to formulate the right test approach. Definition
documents and developer meetings should indicate to the team about the best
test approach that can be used for the project.
Reporting
● Transparent reporting is very difficult to achieve, but this step determines the
effectiveness of the testing approach used in the project.
77
Functional Requirements for Online Courses
● Configurability
Each edition of a course has its own history. In fact, courses change in relation
to the classes, time, developments in the field of study, interests of the teacher as
well as the labor market. It follows that in a support system based on electronic
communication, each single edition of a course should have its own virtual space
● Scalability
● Modularity
● Accessibility
The system should be accessible from every Internet access point
● Usability
A system is obviously a failure if it is deemed unusable by the same people who
should use it.
● Freedom of choice
Using the system must not be an obligation but rather an opportunity, both for
teachers and students. Moreover, technological limits cannot be imposed on the
nature and complexity of the learning objects that a teacher considers useful for
a course.
78
6.15 PERFORMANCE TESTING TO ENSURE RESPONSIVENESS AND
STABILITY UNDER A RIGOROUS WORKLOAD
An influx of users increases the demands expected from your learning management
system. And your LMS can be susceptible to software crashes if not prepared for this
spike in volume and performance demands.
Performance automation testing of your content management system can help you
determine whether your LMS will perform as expected across all devices and network
speeds.
Analyze the performance metrics of memory, bandwidth, throughput, response time and
interrupts by carrying out specific kinds of performance tests, including load testing,
capacity testing, stress testing and endurance testing.
The below-listed testing is very much crucial to make an e-Learning application a grand
success.
● Functionality Testing
● Accessibility Testing
● Usability Testing
● Performance Testing
● Security Testing
● Compliance Testing including SCORM (Sharable Content Object Reference
Model) testing
79
Figure (6.2) Focus Point in testing E-learning system
● Text
There’s nothing easier than making a bad impression because of the poor
grammar or typos. Interface texts, descriptions of courses, explanations of the
study process must be correct.
● Visuals
Pictures and photos help learners to perceive information faster and more
efficiently. Make sure that the quality of the images is good, that they are
relevant and up-to-date.
● Audio/video
To make the studying process more engaging, other multimedia tools such as
audio or video explanations are commonly used. However, this part requires
additional attention. Is the quality of video good enough? Are video
transcriptions correct? A good QA considers these issues too.
● Interactions/links
A cohesive platform is the one you can easily and predictably navigate: from
one course to another, from one category of knowledge to another. You have to
make sure that there are no problematic issues. QA specialists have special tools
80
that won’t let even the smallest bug spoil a user’s experience.
● Contact forms/FAQ
Your users’ opinion is valuable for you, isn’t it? Making sure that users can
easily reach you and ask their questions is absolutely important to master your
product.
81
Chapter Seven
7.1 CONCLUSION
COVID-19 is not the first the crises that we have been through and also it will not be the
last as life is full of ups and downs and what we should make is to enhance our
technology and to develop systems in different fields in order to survive. Learning as a
process is very important in our lives as individuals and also as societies as it’s the only
way for continuous development and enhancement and actually learning will be the
reason for finding solutions for any problem or crises so developing learning systems is
very important.
Our project as mentioned before is an online learning platform and to end with a
working output we have specified what the problem that we want to solve and our
project scope and also our project objectives and we made a study for most popular
existing systems in order to make a system that gathers features that users need, After
that we continued gathering more information to help in developing the web application
like (user requirements, system functional and nonfunctional requirements) and then we
continued to make a proper analysis for the system through data flow diagrams (DFD)
and unified modeling language diagrams (UML) and then we started making the system
design for the online learning platform (DEMO web application) as we made the
database design through illustrating entity relationship diagram (ERD) and database
relational schema and we also made the human interface design of the web application
through different coding languages and programs and different frameworks and libraries
and then we made the system implementation and testing and specifying our future
work.
Our main purpose that we hope that the system will accomplish is that we have created
a web application that helps teachers in sharing knowledge and educational content
easily and also to make students as a party in this learning process to have an easier and
more fun and enjoyable and beneficial learning experience and also the web application
is made to increase the interaction between teachers and students and to help supporting
82
Egyptian and Arab universities and educational organizations to easily share their
courses and content and make it available to students so it can be accessed easily from
anywhere especially through pandemics like COVID-19.
Demo online learning platform is easily used and accessed and easily managed too and
the admin of the system can manage different sections of the system (teachers, courses,
students, user accounts and profiles) easily through the dashboard and he can generate
different reports for these sections and users of the system.
The app still needs a lot of development and enhancements in order to fit all users and
to help in making a change in the learning process especially the online one, so in the
next section we will be taking about our future developments and enhancements and
different future work that we will be implementing in order to have the best outcome we
can get from the system and it’s really important to be said that these enhancements can
be more than what we specified and it can be even different according to user
requirements changes and users feedback on the system.
As we mentioned before our system is not fully developed due to a lot of aspects one of
them was the little time available at the coding and implementation stages but overall
the system main functions will be working. In this part we will discuss our future
developments and future work for our online learning platform.
83
More enhancements for points system: (adding badges – adding more deals
and more functions that could be done with points- making competitions
between learners and adding leader board).
More enhanced Books Section: enhancements for books section by offering
more e-books offered by universities and teachers to the learners and a payment
system will be made in order to make it available to sell this books through
DEMO web app.
More Tools: we have one tool only installed in our system which is the editor
so we will be adding more tools and functions and features that help the teachers
and students in their interactive learning process.
Mobile App : making the system a cross platform app is really important as it
will help to make the app more useable and reachable for different users and it
will increase the number of systems users so making a mobile application for the
system that works for Andriod devices and IPhones is really important.
84
References
85
Appendices
Full list of database tables
86
Necessary packages and Server initialization
Login
87
Sign up
Authentication
88
Account Class
89