You are on page 1of 74

Virtual Learning

A Project Submitted By
Sadia Islam
ID: 161412321
Mehedi Hasan
ID: 163432535

A Project report submitted in partial fulfillment of the requirements for


the Degree of Bachelor of Computer Science and Engineering.

Under the Supervision

RAKIB HOSSEN
Lecturer
Department of Computer Science and Engineering
City University

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINEERING
CITY UNIVERSITY

Summer 2020
DECLARATION

We declare that this project report titled “Virtual Learning” is the result of our own
research except as cited in the references. This project is the partial fulfillment of
requirement for the degree award as Bachelor of Computer Science and Engineering
during the session of 2016-2020 in City University, Dhaka, Bangladesh.

Name of Students

.
_______________________ ____________________

Sadia Islam Mehedi Hasan


ID: 161412321 ID: 163432535
Batch: 41 Batch: 43
Department of CSE Department of CSE
City University, City Campus, City University, City Campus,
Dhaka, Bangladesh Dhaka, Bangladesh

Page | ii
CERTIFICATE
This is to certify that the project titled “Virtual Learning” submitted to CITY
UNIVERSITY in partial fulfillment of the requirements for the award of the degree of
Computer Science and Engineering is the bona-fide qualification record of the project
work done by Sadia Islam, ID: 161412321 and Mehedi Hasan, ID: 163432535. The
project report has been carried out under guidance and is a record of work carried out
successfully during July-2020 to December-2020. To the best of my knowledge this
project has not performed anywhere for a degree.

Approved By

-------------------------------
Rakib Hossen
Supervisor
Lecturer
Department of Computer Science and Engineering

-------------------------------
Md. Safaet Hossain
Associate Professor and Head
Department of Computer Science and Engineering

------------------------------------------------
Professor Md. Shawkut Ali Khan (PhD)
Dean, Faculty of Science and Engineering

Page | iii
Acknowledgement

We would like to thank the following people for their help in the production in this
project.

We are deeply indebted to our supervisor Rakib Hossen, Lecturer, Department of CSE.
Without his help and support, throughout this project, it would not have been possible.

We are also indebted to the coordinator, Department of CSE, Md. Atauallah Bhuiyan,
and the entire faculty members motivated us for taking challenge. Without their
valuable time, project software suggestion and feedback this project would not be able
to get rewarded.

Our special thanks to the Head of Department Md. Safaet Hossain, who had given us
the permission and encouraged us to go ahead.

Sadia Islam Mehedi Hasan


ID: 161412321 ID: 163432535
Batch: 41 Batch: 43
Department of CSE Department of CSE
City University, City Campus, City University, City Campus,
Dhaka, Bangladesh Dhaka, Bangladesh

Page | iv
Abstract
E-learning that enables the traditional teaching process to be done using a website
through internet. The e-learning platform helps the learners to attend their lectures from
anywhere, anytime and provides more efficient technologies for instructors to
communicate with the students and provide information that can be easily understood
by the students which are accessible 24/7. Existing system has a common operation,
that is student can take course from few courses under few numbers of instructors which
hired by platform owner. But we are tried to build a virtual learning platform where
anyone can join as instructor according to his or her skills, knowledge, creativity and
talent from anywhere. On the other hand, the registered student can enroll unlimited
course from large numbers categorized course list. After learning from the course, they
can attend to the examination and view the progress of his or her learning. Also, student
can clear their doubts by asking the instructor and instructor can reply to the students.
Student can rate course and leave comments, which help to find and filter courses for
other students. In our country, most of the high level and different types of educational
organization situated in urban area but so many students leave in rural area. Some
people have no ability to go urban area for better learning. In this reason, they are
deprived from high level and different type of learning. On the other hand, there are too
many talented teachers who live in different places. They can’t find any platform to
share their knowledge and prove themself. So, there is a lot of scopes to provide a bater
experience through virtual learning platform where students can attend their lectures
from anywhere and instructors can provide information from anywhere. From this point
of view, Virtual learning project will be helpful for the student and instructor who are
staying in different places.

Page | v
Table of Contents
1 Chapter: Introduction ........................................................................1
1.1 Introduction: ............................................................................................................ 1
1.2 Features of this project: .......................................................................................... 1
1.3 Idea and Concept:.................................................................................................... 2
1.4 Modules Description: .............................................................................................. 2
1.5 Background and Motivation: ................................................................................. 4
1.6 Why do we choose this project? ............................................................................. 4
1.7 Why are we unique? ................................................................................................ 4
1.8 Scope/Objective: ...................................................................................................... 5
2 Chapter: Existing System & Comparison ........................................6
2.1 Existing System:....................................................................................................... 6
2.2 Comparison existing system and our project system: .......................................... 9
3 Chapter: Project Development Workflow .....................................10
3.1 Project Development Workflow:.......................................................................... 10
3.1.1 Analysis: .......................................................................................................... 10
3.1.2 Planning: .......................................................................................................... 11
3.1.3 Designing:........................................................................................................ 14
3.1.4 Developing & Testing: .................................................................................... 14
3.1.5 Deployment: .................................................................................................... 16
3.2 SDLC Models ......................................................................................................... 18
3.2.1 Waterfall Model Design .................................................................................. 19
4 Chapter: Requirement Analysis......................................................20
4.1 Software & Hardware Requirements for User ................................................... 20
4.2 Software & Hardware used for project development ........................................ 20
4.3 Target user: ............................................................................................................ 20
4.4 Time limit: .............................................................................................................. 20
4.5 Details Specification of Language and Software Component............................ 21
5 Chapter: System Design and Database Design Methodology ......25
5.1 System Design Methodology:................................................................................ 25
5.1.1 Use Case Diagram: .......................................................................................... 26
5.1.2 Flow Chart: ...................................................................................................... 27
5.1.3 System Flow Diagram: .................................................................................... 28
5.1.4 Activity Diagram: ............................................................................................ 29
5.2 Database Design Methodology: ............................................................................ 31
5.2.1 ER Diagram: .................................................................................................... 32
5.2.2 Database Schema Diagram: ............................................................................. 33
6 Chapter: Output ...............................................................................34
6.1 Registration Form: ................................................................................................ 34
6.2 Login Form: ........................................................................................................... 35
6.3 Became an Instructor Form: ................................................................................ 36
6.4 Instructor Dashboard: .......................................................................................... 37

Page | vi
6.5 Instructor Profile: .................................................................................................. 37
6.6 Instructor Course View and Add Page: .............................................................. 38
6.7 Instructor Add Course Form Page: ..................................................................... 38
6.8 Instructor Credit Page: ......................................................................................... 40
6.9 Instructor Withdraw Request From: .................................................................. 40
6.10 Admin Dashboard: ................................................................................................ 41
6.11 Admin User Management Page: .......................................................................... 42
6.12 Admin User Add Form: ........................................................................................ 42
6.13 Admin Categories Management Page: ................................................................ 43
6.14 Admin Categories Add Page: ............................................................................... 43
6.15 Admin Withdraw-Requests Page:........................................................................ 44
6.16 Admin Contact Us Page Config: .......................................................................... 45
6.17 Admin About Us Page Config: ............................................................................. 45
6.18 Admin Home Page Config: ................................................................................... 46
6.19 Admin Blog Page: .................................................................................................. 46
6.20 Admin Add Blog Form: ........................................................................................ 47
6.21 Visitor Blog View Page: ........................................................................................ 47
6.22 Visitor Contact Us View Page: ............................................................................. 48
6.23 Admin Get Mail from Visitor:.............................................................................. 49
6.24 About Us View Page: ............................................................................................. 50
6.25 Home View: Page: ................................................................................................. 51
6.26 Course Categories for Users ................................................................................. 52
6.27 Course List with Filter Option for Visitor: ......................................................... 52
6.28 Details Course View: ............................................................................................. 53
6.29 Course Enroll and Checkout: ............................................................................... 54
6.30 My Courses Page & Learn Course Page: ............................................................ 55
6.31 Course Rating Successful: .................................................................................... 56
6.32 Instructor List View Page: .................................................................................... 57
6.33 Instructor Details View Page:............................................................................... 57
6.34 Student Quires to Instructor: ............................................................................... 58
6.35 Verify Email:.......................................................................................................... 59
6.36 Database of our Virtual Learning Project .......................................................... 60
7 Chapter: Testing ...............................................................................61
8 Chapter: Scope for future work & Conclusion ............................64
8.1 Future Works ......................................................................................................... 64
8.2 Limitations ............................................................................................................. 64
8.3 Problem .................................................................................................................. 64
8.4 Conclusion:............................................................................................................. 64
8.5 References: ............................................................................................................. 65

Page | vii
List of Figures
Figures
Figure 3. 1: Project Development Workflow ............................................................... 10

Figure 3.1. 1: Concept Mapping for virtual learning project ....................................... 10


Figure 3.1. 2: GNATT Chart for virtual learning project ............................................ 12
Figure 3.1. 3: UI Design Approach .............................................................................. 14
Figure 3.1. 4-1: Developing ......................................................................................... 15
Figure 3.1. 5-1: Deployment ........................................................................................ 17

Figure 3.2. 1: Waterfall Model Design ........................................................................ 19

Figure 5.1. 1:Use Case Diagram .................................................................................. 26

Figure 5.1.4. 1 Activity Diagram of Admin Side ........................................................ 29


Figure 5.1.4. 2: Activity Diagram of Instructor Side ................................................... 30
Figure 5.1.4. 3: Activity Diagram of Student Side ...................................................... 31

Figure 5.2. 1: ER Diagram ........................................................................................... 32


Figure 5.2. 2: Schema Diagram of Database. .............................................................. 33

Figure 6. 1: Registration from for User and Instructor ................................................ 34


Figure 6. 2: Login for User, Instructor and Admin ...................................................... 35
Figure 6. 3: Became an Instructor Form ...................................................................... 36
Figure 6. 4: Instructor dashboard ................................................................................. 37
Figure 6. 5: Instructor profile ....................................................................................... 37
Figure 6. 6: Instructor courses page ............................................................................. 38
Figure 6. 7: Instructor Add Course Form Page ............................................................ 39
Figure 6. 8: Instructor Credit Page ............................................................................... 40
Figure 6. 9: Instructor Withdraw Request From .......................................................... 40
Figure 6. 10: Admin Dashboard................................................................................... 41
Figure 6. 11: Admin User Management Page. ............................................................. 42
Figure 6. 12: Admin User Add Form ........................................................................... 42
Figure 6. 13: Admin-Categories Management............................................................. 43
Figure 6. 14: Admin Categories Add Page .................................................................. 43
Figure 6. 15: Admin Withdraw-Requests Page ........................................................... 44
Figure 6. 16: Admin Contact Us Page Config ............................................................. 45
Figure 6. 17: Admin About Us Page Config................................................................ 45
Figure 6. 18: Admin Home Page Config ..................................................................... 46
Figure 6. 19: Admin Blog Page ................................................................................... 46
Figure 6. 20: Admin Add Blog Form........................................................................... 47
Figure 6. 21: Visitor Blog View Page .......................................................................... 47

Page | viii
Figure 6. 22: Visitor Contact Us Page ......................................................................... 48
Figure 6. 23: Admin Get Mail from Visitor ................................................................. 49
Figure 6. 24: About Us View Page .............................................................................. 50
Figure 6. 25: Home View Page .................................................................................... 51
Figure 6. 26: Course Categories for User .................................................................... 52
Figure 6. 27: Course List with Filter Option for user .................................................. 52
Figure 6. 28: Details Course View ............................................................................... 53
Figure 6. 29: Course Enroll and Checkout................................................................... 54
Figure 6. 30: My Courses Page & Course Learn Page ................................................ 55
Figure 6. 31: Course Rating Successful ....................................................................... 56
Figure 6. 32: Instructor List View Page ....................................................................... 57
Figure 6. 33: Instructor Details View Page .................................................................. 57
Figure 6. 34: Student Quires to Instructor ................................................................... 58
Figure 6. 35: Verify Email ........................................................................................... 59
Figure 6. 36: Database of our Virtual Learning Project............................................... 60

List of Tables
Tables
Table 2.1: Comparison existing system and our project system .................................... 9

Table 3.1. 1: Team work plan for virtual learning project ........................................... 13

Table 4.1: Software & Hardware Requirements for User............................................ 20


Table 4 2 Software used for project development ....................................................... 20

Table 7. 1: Basic Chart of Testing ............................................................................... 63

Page | ix
1 Chapter: Introduction
1.1 Introduction:
Virtual Learning is one kind of e-learning platform. It is a web application, that enables
the student to find the available courses from categorized course list and Instructors can
easily teach the student by uploading the course material through internet. Also, Student
can participate in exam, view result and ask question to the Instructor after learn from
this course. On the other hand, Instructors can set the question and reply the student.
This Virtual Learning project will manage activities such as student and instructor valid
login system, Student information details, Instructor information details, course details,
Track student and instructor activities, teach multiple courses in one place, easy and
quality full learning facilities, exam and talent management.

The Virtual Learning helps students to attend their lectures from anywhere in the world,
and provides more efficient technologies for instructors to teach the students and
provide information that can be easily understood by the students.

1.2 Features of this project:


1. Virtual learning portal offer professional online courses and training.
2. Learner can get different courses in one place.
3. Huge number of course under multiple categories.
4. Every single course and lecture easy to understand and highly structured.
5. Anyone can take multiple courses at a time.
6. Learner can study lectures any number of times from taken courses.
7. Learner can test progress by participate the quiz of the particular course.
8. Virtual learning website offers access updated content to learner from taken
courses.
9. Learner can take courses from any geographic location.
10. Learner can take courses any time.
11. Learner can ask course related question direct to course instructor.
12. Virtual learning portal give access to the user 24/7.
13. Experience person can join as an instructor partner.
14. Instructor can join from any geographic location.

Page | 1
15. Instructor can access this portal any time to upload lectures and checks status.
16. Instructor can give answer course related question direct to course student.
17. Virtual learning portal give a chance to utilized experiences and earn a standard
salary for skilled person.
18. Reduced costs.
19. Less impact on environment.

1.3 Idea and Concept:


The system after careful analysis has been identified to be presented with the following
modules:

1. Authentication and Security Module.


2. Admin Module.
3. Faculty Module.
4. Student Module.
5. Exam Management Module.
6. Course Material
7. Announcement Management Module.
8. Query and Feedback Module.

1.4 Modules Description:

Authentication and Security Module


The user details should be verified against the details in the user tables and if it is valid
user, they should be entered into the system. Once entered, based on the user type access
to the different modules to be enabled / disabled and individual user can change their
default password or old password.

Admin Module
This module consists of the following sub modules:
a) Registration Module
Here admin can register new Instructor, student and store their details in database.
It displays a list of students/Instructors members registered. It displays a list of
students/Instructors members whose sign up request is still pending.

Page | 2
b) Users Management Module
Here admin can access any user related information. User can be a faculty or
student.
c) Course Management Module
In this module admin can register a new course, can update a course and delete a
course also.

Instructor Module
In this Module Instructor can upload course material, can announce notices, can set
online exam question paper, can schedule new exam, can view marks scored by
students, can also view queries sent by a student and reply them.

Student module
In this module students can create profile as well as modifying and delete the details,
Enroll the courses from categorized course list, learn and appear online exam, can view
their marks, can download course material, can post a query, view reply and depending
on it he can give feedback.

Exam Management Module


Using this module user can set new exam question papers, new exam schedule, view
marks of students, can appear online exam etc.

Course Material
In This module an Instructors can upload, modify and delete course material. Students
can watch and download the course material.

Announcement Management Module


Instructors also can view Admin announcement and can announce some notice to
students and students can view the announcement.

Query and Feedback Module


In this module a student can send a query and respective Instructor can reply it.
Depending on reply of Instructor the student can give feedback.

Page | 3
1.5 Background and Motivation:
In our country most of the high level and different types of educational organization
situated in urban area but so many students leave in rural area. They have no ability to
go urban area for better learning. In this reason they are deprived from high level and
different type of learning. On the other hand there are too many talented teacher leave
in different place. They can’t find any platform to share their knowledge. So there is a
lot of scopes to create a platform where students can attend their lectures from anywhere
and instructors can provides information from anywhere that can be easily understood
by the students and communicate with the students through efficient technologies.

From this point of view, we realize to make a system where all type of course are
available for different type and level of student in one system.

1.6 Why do we choose this project?


Virtual learning project will be helpful for the student and instructor who are stay in
different places. This platform provides facility to the student and instructor for online
query & reply.

1.7 Why are we unique?


All the existing system has a common operation and that is student can take course and
learn from course. But we are trying build or develop a system where only registered
student can enroll unlimited course from categorized course list by login. After learn
from the course they can attend to the examination and view the progress of his or her
learning. Also, student can clear their doubts by asking to the instructor and instructor
can reply the student. In this project we will develop a system where anyone can join
as instructor according to his or her knowledge, creativity and talent from anywhere.
Administrator will approve the pending request through identify the eligibility of
instructor.

Page | 4
1.8 Scope/Objective:
• Student can join as a registered user by giving valid information.
• Student can create profile as well as modify and delete information.
• Instructor can join as a registered user by giving valid information.
• Instructor can create profile as well as modify and delete information.
• Student can enroll unlimited courses from categorized course list.
• After learn from the course student can attend the exam and view the progress.
• Student can clear his or her doubts through asking question to instructor and
give feedback to the instructor.
• Anyone can join as instructor according to his or her knowledge, creativity and
talent from anywhere.
• Administrator will approve the pending request of instructor through identify
the eligibility.
• Instructor can upload course material as well as modify and delete and reply to
the student.
• Instructor can set question paper and announce to the student.
• Administrator will have the right to edit, delete and store any information of the
student and Instructor
• Administrator can provide announcement to the student and Instructor.
• Administrator can keep tracking the activities of the student and Instructor.

Page | 5
2 Chapter: Existing System & Comparison
2.1 Existing System:
There is lots of website is existing like our web application. Description of some of
this Web application is given below:

10minuteschool.com: 10 Minute School is one of the latest additions to online learning


in Bangladesh. It kicks started as a relatively small initiative which is now growing
rapidly with almost 150000 students attending the classes regularly. It is now being
sponsored by Telco giant ROBI and is being endorsed by numerous public figures.

From JSC candidate to Professional workers, everyone can benefit from the contents of
10MinuteSchool. The modules are divided into JSC, SSC, HSC, University Admission,
University Courses Skill Development, Professional Courses, etc. Students can watch
chapter and topic-wise pre-recorded lecture videos and even attend live classes on
Facebook. The coolest part of it is that it is completely free.

bohubrihi.com: Bohubrihi is an edTech company that offers superior online courses,


professional training and corporate eLearning services to help you master new skills
and accomplish more in life. These courses and programs are designed & offered in
collaboration with the best of industry experts and organizations in Bangladesh.

Bohubrihi is a place where anyone can enroll in courses, get access to exclusive
contents and get skilled to be in demand.

repto.com.bd: Repto can be labeled as a deshi version of Udemy. The education


process here is simple. Some experts prepare a video course and upload it on Repto,
students enroll in the courses, and get certified after completion.

The courses can be of both types – paid and free. Different fields of education like
Programming, Digital Marketing, Graphic design, Photography, English language, MS
Office, Database, Entrepreneurship, etc. are the major types of courses you will find at
Repto.

careershubbd.com: CareersHub Bangladesh is a leading training, business and


technology consulting company. We have been providing a wide variety of innovative
and creative consulting services for our customers. Our approach is simple but effective
and it is to work hand in hand with our clients using a pragmatic approach to resolve

Page | 6
the problems. We achieve our exceptional results through transparency and teamwork
ultimately leading to a successful delivery of in your organization. We can help you to
identify the right career, Organizational Development, Improve business operations and
Technology roadmap.

Total number of including Trainers ten. They provide training on Customer


Relationship Management, Web Developers, Graphic Designers and Business
Developers.

teachers.gov.bd: This site is a project of the government of Bangladesh that aims to


bring digitalization of education of our country into a reality. The site mainly is enriched
with PPT presentation slide contents explaining different terms and topics of school-
level academic studies.

There are three mainstreams study contents (General, Madrasa, & Technical) are
available there. The contents are prepared and uploaded by different teachers of
different schools and madrasas around the country. The site is completely free to use.

eshikhon.com: At eShikhon.com, you can take different model tests to prepare yourself
with your subjects. Study subjects from JSC level to BSC test preparation – you can
take the topic-wise test at different levels.

You can try out a technical audio-visual course from a range of courses like CPA
training, SEO, WordPress, graphic design, affiliate marketing, android development
etc. The blog section of the site has many informative write-ups that can help a student
get up to date with latest education news.

studypress.org: Studypresss concentrates on competitive exams for jobs, whether


government job or private. The site is a hub for students who want to excel in their
competitive exams such as BSC, government job exams, and bank jobs.

The study module is divided into different parts – BSC, Bank, Govt.Job, NTRCA,
MBA. Under all these sections, you will find study materials, recent questions and
model tests. You can read, practice, take a quiz or sit for a model test for your target
exam. You need to sign up for that at first. You can also log in alternatively just by your
Facebook ID. The site is available as the app on both iOS and Android platform.

Page | 7
shikkhok.com: Shikkhok.com is one of the oldest online learning sites in Bangladesh.
Unknown to most of the youth, this site has been a hub for knowledge seekers for many
years. Founded in 2012, it has been growing with full potential since then. The lectures
are designed for everybody to understand.

The best thing about Shikkhok.com is that it has a panel of teachers who are expert and
excelled in their own educational field. Learn at your freedom from the Freelance
corner, Mobile application development, Computer science and technology,
Engineering, Language and even subjects from SSC and HSC level.

educarnival.com: This site is also set up centering the competitive exam preparation.
You can find any previous questions of the state competitive exams like BCS, public
varsity admission, Medical College, Bank Job, SSC, Teacher registration and other
government recruitment exams.

Side by side, you can sit for model tests for each of the modules. There is a
report/assignment section where you can find many academic write-ups related to
different topics that will surely help you shape up your learning more flawlessly.

edpdbd.org: This site has some loads of contents for any student to get prepared for
university admission test. Humanities, Science, and commerce – all departmental
subjects can be studied at the admission preparation tab.

You can take different model tests to prepare yourself for the upcoming exam. The
news tab has all the latest news about the admission tests coming up to keep you up to
date. Find the website of your listed university just by finding the name of it in the
University tab.

pre-testbd.com: Teacher registration or MBA exam, you can find out the level of your
preparation at the last stage with pre-testbd.com.

More than 20 thousand questions are there for you to go through and furnish your
preparation at the very last moments. With the myexaminer.net extension, you can sit
for BSC model test as well.

Page | 8
2.2 Comparison existing system and our project system:

Our web application

10minuteschool.com

careershubbd.com
Company Name

educarnival.com
teachers.gov.bd

pre-testbd.com
bohubrihi.com
(website link)

eshikhon.com

studypress.org
repto.com.bd

shikkhok.com

edpdbd.org
Features

Verified User Login


system. Only
√ √ √ √ √ X √ √ √ √ √ X
registered user can
access.
Instructor can create
profile as well as edit √ X X X X X X X X X X X
and delete
Student can create
profile as well as edit √ √ √ √ √ X X √ X √ √ X
and delete
Instructor can teach
from anywhere √ X X X X X X X X X X X
according to their skill
Keep record of the
√ X √ √ √ X X X X √ √ X
student and instructor
Track Student and
√ X X X X X X X X X X X
Instructor activities
Student can enroll any
√ √ √ √ √ √ X √ X √ √ X
course from anywhere
Categorized course
list and filtering √ √ √ √ √ √ √ √ √ √ √ √
option
Multiple Course for
every type and level √ √ X X X X X X X X X X
of students
Exam taking facility
after learn from a √ X X X X X X X X X X X
course
Instant result
√ X √ √ X X X X X X X X

Instructor reply the


student query √ √ √ √ X X X X X X X X

Student feedback
system √ √ X X X X X X X X X X
To the Instructor

Table 2.1: Comparison existing system and our project system

Page | 9
3 Chapter: Project Development Workflow

3.1 Project Development Workflow:

Developing
Analysis Planning Designing & Deployment
Testing

Figure 3. 1: Project Development Workflow


3.1.1 Analysis:
The first step aims to give an overview of the problem we want to be solved and/or our
needs. If the needs aren’t well understood it will lead to a failure in building a web app
that aims to serve the purposes. The following questions have to be answered once this
first step is done:

1. What are the underlying needs behind the application to be built?


2. What problems should the app solve?
3. What needs do the application fill? What will be the impact on our business?
4. How will the application be used?
5. What could be the consequences of the delay in building the app for our
business?

Figure 3.1. 1: Concept Mapping for virtual learning project

Page | 10
3.1.2 Planning:
Planning for the quality assurance requirements and identification of the risks
associated with the project is also done in the planning stage. The outcome of the
technical feasibility study is to define the various technical approaches that can be
followed to implement the project successfully with minimum risks.

In the previous step, the goal was to identify the objectives of web app implementation.
The objectives can be complex, the business logic being often quite complex in general.
It is then important at this stage that these complex objectives can be broken down into
more manageable tasks and therefore easier to implement, validate, and test.

At the end of this step, the following tasks should have been completed:
1. Reformulate the underlying needs and goals
2. Think in terms of steps needed to complete the project
3. Identify each different feature and module
4. Break down every goal into simple tasks
5. Order each task in order to know which one should/must go before another
6. Analyze dependency between all the tasks
7. Identify every task that can be done in parallel
8. Elaborate a timeline according to available resources or in case it is possible to
have all the resources we need, identify the number of resources needed, and
then plan the project
9. Make an architectural choice.
10. Consolidate the different analyses and approaches in a document so that
validation can be carried out.

Page | 11
GNATT CHART FOR PROJECT DEVELOPMENT

FINAL TESTING+PRESENTATION 10

DOCUMENT, REPORT PAPER 15

CODING+TESTING 30 30 30 5

DESIGN(UI, DESIGN, FRORM, TABLE) 30

PLANNING(FEATURES, FROM, UI) 20

ANALYSIS, DISSCUSSION, BRAIN STROMING 10

Analysis, Design(UI, Final


Planning(Featur Document,
Disscussion, Design, Frorm, Coding+Testing Testing+Present
es, From, UI) Report Paper
Brain Stroming Table) ation
July 10 20
August 30
September 30
October 30
November 30
December 5 15 10

Figure 3.1. 2: GNATT Chart for virtual learning project

Page | 12
Duration (count as month)

Member &
Supervisor

September

November

December
October
August
Sl

Name

Team

July
no
Task Name

1 Analysis Phase Sadia and Mehedi 10 Days

2 Planning Phase

2.1 Pre-Planning Mr. Rakib Hossen 3 Days

2.2 Planning Sadia and Mehedi 14 Days

2.3 Post-Planning Mr. Rakib Hossen 3 Days

3 Design Phase

Designing the

3.1 software Sadia and Mehedi 25 Days

Give Review from


3.2 Mr. Rakib Hossen 5 Days
supervisor
4 Coding Phase

4.1 Module Develop Sadia and Mehedi 30 Days 20 Days

4.2 Integrate module Sadia and Mehedi 10 Days 15 Days

4.3 Review the system Mr. Rakib Hossen 15 Days

4.4 Testing Sadia and Mehedi 5 Days

Deployment

5 Phase

Documentation

5.1 Prepare Sadia and Mehedi 15 Days

5.2 Final Submission Sadia and Mehedi 10 Days

Table 3.1. 1: Team work plan for virtual learning project

Page | 13
3.1.3 Designing:
In this Phase after successfully analysis the requirements and planning the next and
important part is design. Web design encompasses many different skills and disciplines
in the production and maintenance of websites. The different areas of web design
include web graphic design; interface design; authoring, including standardized code
and proprietary software; user experience design; and search engine optimization. Often
many individuals will work in teams covering different aspects of the design process,
although some designers will cover them all. The term "web design" is normally used
to describe the design process relating to the front-end (client side) design of a website
including writing markup.

A design approach clearly defines all the architectural modules of the product along
with its communication and data flow representation with the external and third-party
modules (if any). The internal design of all the modules of the proposed architecture
should be clearly defined with the minutest of the details in Design Document
Specification.

Figure 3.1. 3: UI Design Approach

3.1.4 Developing & Testing:


In this Phase Partially or completely designed according to the product requirements
document, the next development phase can start or both design and developing work
continuing depend on each other. The goal of this phase is to create an application that
meets the needs identified in the previous steps, and as the needs generally evolve and
new ideas of implementation may arise during the implementation phase, it is generally
advised to use a methodology that allows flexibility and proactivity.

Page | 14
With each iteration in agile methodology, we make sure that development is achieved
towards the goals defined in the product requirements document.

The product requirements documentation should be used to implement all features, an


efficient approach should be chosen in order to make sure the codes are behaving as
expected by the specification document.

Figure 3.1. 4-1: Developing

Page | 15
After development the most important part is testing. During that phase Test-Driven
Development (TDD) is one approach that aims to make sure that tests are dressed to
test and simulate real behavior. Testing helps actors involved in the web application
development process understand the code purposes and makes the hand out process
easier. Good code coverage has proven to minimize bugs and is proof of the good design
for easy post-production support and maintenance, easy system evolution.

Figure 3.1. 4-2: Testing


3.1.5 Deployment:
Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometimes product deployment happens in stages as per the
business strategy of that organization. The product may first be released in a limited
segment and tested in the real business environment (UAT- User acceptance testing).

Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in the
market, its maintenance is done for the existing customer base.

Page | 16
Figure 3.1. 5-1: Deployment

Figure 3.1. 5-2: UAT- User acceptance testing

Page | 17
3.2 SDLC Models
The software development models are the various processes or methodologies that are
being selected for the development of the project depending on the project’s aims and
goals. Many development life cycle models have been developed in order to achieve
different required objectives. The models specify the various stages of the process and
the order in which they are carried out.

The selection of model has very high impact on the testing that is carried out. It will
define the what, where and when of our planned testing, influence regression testing
and largely determines which test techniques to use.

Figure 3. 2: SDLC Models

There are various Software development models or methodologies. They are as follows:
1. Waterfall model
2. V model
3. Incremental model
4. RAD model
5. Agile model
6. Iterative model
7. Spiral model
8. Prototype model

Page | 18
Choosing right model for developing of the software product or application is very
important. Based on the model the development and testing processes are carried out.

The Waterfall Model was first Process Model to be introduced. It is also referred to as
a linear- sequential life cycle model. It is very simple to understand and use. In a
waterfall model, each phase must be completed before the next phase can begin and
there is no overlapping in the phases.

Waterfall model is the earliest SDLC approach that was used for software development.

The waterfall Model illustrates the software development process in a linear sequential
flow; hence, it is also referred to as a linear-sequential life cycle model. This means that
any phase in the development process begins only if the previous phase is complete. In
waterfall, model phases do not overlap.

3.2.1 Waterfall Model Design


Waterfall approach was first SDLC Model to be used widely in Software Engineering
to ensure success of the project. In "The Waterfall" approach, the whole process of
software development is divided into separate phases. In Waterfall model, typically, the
outcome of one phase acts as the input for the next phase sequentially.

Following is a diagrammatic representation of different phases of waterfall model.

Figure 3.2. 1: Waterfall Model Design

Page | 19
4 Chapter: Requirement Analysis
4.1 Software & Hardware Requirements for User
Software & Hardware Requirements for Running Web Application (User)

Hardware Software Network


Computer, Mobile, Tab etc. with Operating System: Platform Must have
minimum requirements Independent internet
Browsers: Firefox, Chrome, connection
Opera
Table 4.1: Software & Hardware Requirements for User

4.2 Software & Hardware used for project development


Hardware:
Configuration PC
Processor Intel Core i5, 3.6 GHz
RAM 4GB
HDD 1TB
OS Windows 10, 64 bits
Table 4 2: Software used for project development

Software Component:
Language: PHP
Framework: Laravel (5.8)
IDE: Visual Studio, Sublime Text, PhpStorm, Notepad ++, XAMPP
Front-end Design: Html, CSS, Bootstrap, JavaScript
Database: MYSQL
Browser: Microsoft Edge, Mozilla Firefox, Chrome
Operating System: Windows

4.3 Target user:


Our target users are Student from anywhere and Teacher who are interested to join as
an instructor for provide understandable course material and teach to the student from
anywhere.

4.4 Time limit:


Approximately the project completion time is Six months.

Page | 20
4.5 Details Specification of Language and Software Component

XAMMP: XAMPP is a free and open-source cross-platform web server solution stack
package developed by Apache Friends, consisting mainly of the Apache HTTP Server,
MariaDB database, and interpreters for scripts written in the PHP and Perl
programming languages. Since most actual web server deployments use the same
components as XAMPP, it makes transitioning from a local test server to a live server
possible.

XAMPP's ease of deployment means a WAMP or LAMP stack can be installed quickly
and simply on an operating system by a developer, with the advantage that common
add-in applications such as WordPress and Joomla! Can also be installed with similar
ease using Bitnami.

For our virtual learning project, we use XAMMP which has following features:

• PHP 7.3.4
• Apache 2.4.43
• MariaDB 10.4.13
• Perl 5.32.0
• OpenSSL 1.1.1g (UNIX only)
• phpMyAdmin 5.0.2

HTML: Hypertext Markup Language (HTML) is the standard markup language for
documents designed to be displayed in a web browser. It can be assisted by technologies
such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript. Web
browsers receive HTML documents from a web server or from local storage and render
the documents into multimedia web pages. HTML describes the structure of a web page
semantically and originally included cues for the appearance of the document.

CSS: Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language like HTML.CSS is a
cornerstone technology of the World Wide Web, alongside HTML and JavaScript.

CSS is designed to enable the separation of presentation and content, including layout,
colors, and fonts. This separation can improve content accessibility, provide more
flexibility and control in the specification of presentation characteristics, enable

Page | 21
multiple web pages to share formatting by specifying the relevant CSS in a separate.
CSS file which reduces complexity and repetition in the structural content as well as
enabling the .CSS file to be cached to improve the page load speed between the pages
that share the file and its formatting.

Bootstrap: Bootstrap is a free and open-source CSS framework directed at responsive,


mobile-first front-end web development. It contains CSS- and (optionally) JavaScript-
based design templates for typography, forms, buttons, navigation, and other interface
components.
Bootstrap is the seventh-most-starred project on GitHub, with more than 142,000 stars,
behind free Code Camp (almost 312,000 stars) and marginally behind Vue.js
framework. According to Alexa Rank, Bootstrap is in the top-2000 in the USA while
vuejs.org is in the top-7000 in the USA.
For our Virtual Learning, we use bootstrap 4 which has the following features:

• Major rewrite of the code


• Replacing Less with Sass
• Addition of Reboot, a collection of element-specific CSS changes in a single
file, based on Normalize
• Dropping support for IE8, IE9, [contradictory] and iOS 6
• CSS Flexible Box support
• Adding navigation customization options

Java Script (JS): JavaScript often abbreviated as JS, is a programming language that
conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time
compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-
based object-orientation, and first-class functions.

Alongside HTML and CSS, JavaScript is one of the core technologies of the World
Wide Web. JavaScript enables interactive web pages and is an essential part of web
applications. The vast majority of websites use it for client-side page behavior, and all
major web browsers have a dedicated JavaScript engine to execute it.
PHP: PHP is a general-purpose scripting language that is especially suited to web
development. It was originally created by Danish-Canadian programmer Rasmus
Lerdorf in 1994; the PHP reference implementation is now produced by The PHP

Page | 22
Group. PHP originally stood for Personal Home Page, but it now stands for the
recursive initialism PHP: Hypertext Preprocessor.

Laravel: Laravel is a free, open-source PHP web framework, created by Taylor Otwell
and intended for the development of web applications following the model–view–
controller (MVC) architectural pattern and based on Symfony. Some of the features of
Laravel are a modular packaging system with a dedicated dependency manager,
different ways for accessing relational databases, utilities that aid in application
deployment and maintenance, and its orientation toward syntactic sugar.

MySQL: MySQL is an open-source relational database management system


(RDBMS). Its name is a combination of "My", the name of co-founder Michael
Widenius's daughter and "SQL", the abbreviation for Structured Query Language. A
relational database organizes data into one or more data tables in which data types may
be related to each other; these relations help structure the data. SQL is a language
programmer use to create, modify and extract data from the relational database, as well
as control user access to the database. In addition to relational databases and SQL, an
RDBMS like MySQL works with an operating system to implement a relational
database in a computer's storage system, manages users, allows for network access and
facilitates testing database integrity and creation of backups.

Draw.io: The Draw.io extension interfaces with the draw.io website to easily create
beautiful diagrams, flow charts and drawings. This powerful extension saves the
draw.io source code for your diagram and a PNG version of the image – providing crisp
images. There is also no hassle moving images back and forth between editors on your
computer like typically is done without this extension.
This extension connects directly to the draw.io website, which is a high-quality diagram
and flow chart tool with a feature set on par with other well-known diagram editors, so
the interface will already be intuitive.
creately.com: The creately.com extension interfaces with the creately.com website to
easily create beautiful diagrams, flow charts and drawings. This powerful extension
saves the creately.com source code for your diagram and a PNG version of the image
providing crisp images. There is also no hassle moving images back and forth between
editors on your computer like typically is done without this extension.

Page | 23
Urgo UML: The Unified Modeling Language (UML) is a general-purpose,
developmental, modeling language in the field of software engineering that is intended
to provide a standard way to visualize the design of a system.
The creation of UML was originally motivated by the desire to standardize the disparate
notational systems and approaches to software design. It was developed by Grady
Booch, Ivar Jacobson and James Rumbaugh at Rational Software in 1994–1995, with
further development led by them through 1996.

Sublime Text: Sublime Text is a shareware cross-platform source code editor with a
Python application programming interface (API). It natively supports many
programming languages and markup languages, and functions can be added by users
with plugins, typically community-built and maintained under free-software licenses.

We have use sublime text 3 for job HR management which following features: Sublime
Text 3 adds include symbol indexing and pane management. Symbol Indexing allows
Sublime Text to scan files and build an index to facilitate the features Go to Definition
and Go to Symbol in Project. Pane Management allows users to move between panes
via hotkeys.

PhpStorm: PhpStorm is a commercial, cross-platform IDE (integrated development


environment) for PHP,built by the Czech Republic-based company JetBrains.

PhpStorm provides an editor for PHP, HTML and JavaScript with on-the-fly code
analysis, error prevention and automated re-factorings for PHP and JavaScript code.
PhpStorm's code completion supports PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4 and
8.0 (modern and legacy projects), including generators, coroutines, the finally keyword,
list in foreach, namespaces, closures, traits and short array syntax. It includes a full-
fledged SQL editor with editable query results.

Visual Studio Code: Visual Studio Code is a free 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.

Page | 24
5 Chapter: System Design and Database Design
Methodology

5.1 System Design Methodology:

Systems design is the process of defining the architecture, modules, interfaces, and data
for a system to satisfy specified requirements. Systems design could be seen as the
application of systems theory to product development. There is some overlap with the
disciplines of systems analysis, systems architecture and systems engineering.

Page | 25
5.1.1 Use Case Diagram:
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.

Figure 5.1. 1:Use Case Diagram

Page | 26
5.1.2 Flow Chart:
A flowchart is a type of diagram that represents an algorithm, workflow or process,
showing the steps as boxes of various kinds, and their order by connecting them with
arrows. This diagrammatic representation illustrates a solution model to a given
problem. Flowcharts are used in designing and documenting simple processes or
programs. Like other types of diagrams, they help visualize what is going on and
thereby help understand a process, and perhaps also find flaws, bottlenecks, and other
less-obvious features within it. There are many different types of flowcharts, and each
type has its own repertoire of boxes and notational conventions. The two most common
types of boxes in a flowchart are: a processing step, usually called activity, and denoted
as a rectangular box a decision, usually denoted as a diamond.

Page | 27
5.1.3 System Flow Diagram:
This System Flow Diagram depicts the overall design and working steps of our
designed application as shown in Figure.

Figure 5.1. 3: System Flow Diagram

Page | 28
5.1.4 Activity Diagram:
Activity diagram is another important diagram in UML to describe the dynamic aspects
of the system. Activity diagram is basically a flowchart to represent the flow from one
activity to another activity. The activity can be described as an operation of the system.
The control flow is drawn from one operation to another.

5.1.4.1 Activity Diagram of Admin Side:

Figure 5.1.4. 1 Activity Diagram of Admin Side

Page | 29
5.1.4.2 Activity Diagram of Instructor Side:

Figure 5.1.4. 2: Activity Diagram of Instructor Side

Page | 30
5.1.4.3 Activity Diagram of Student Side

Figure 5.1.4. 3: Activity Diagram of Student Side

5.2 Database Design Methodology:


Database design is the process of producing a detailed data model of database. This
data model contains all the needed logical and physical design choices and physical
storage parameters needed to generate a design in a data definition language, which can
then be used to create a database.

Page | 31
5.2.1 ER Diagram:
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a
database. An entity in this context is a component of data. In other words, ER diagrams
illustrate the logical structure of databases. More specifically, entity relationship model
is a widely used model that provides a convenient graphical representation to view data,
relationships and constraints.

Here figure 5.2.1shows the entity relationship diagram (E-R Diagram) of our
application.

Figure 5.2. 1: ER Diagram

Page | 32
5.2.2 Database Schema Diagram:
A database schema represents the logical configuration of all or part of a relational
database. It can exist both as a visual representation and as a set of formulas known as
integrity constraints that govern a database. These formulas are expressed in a data
definition language. As part of a data dictionary, a database schema indicates how the
entities that make up the database relate to one another, including tables, views, stored
procedures and more.

Figure 5.2. 2: Schema Diagram of Database.

Page | 33
6 Chapter: Output
6.1 Registration Form:
This portion would provide users with the option to register as a member of the
application as shown in Figure 6.1 User can be registered user by providing his or her
user name, email address, password and confirm password according to filled
requirement. Then click the register button considered to be as a registered user. If he
or she use right mail id, then they get a verification mail with link. After that, if they
click the link, they will success full verified user and redirect to home page.

Figure 6. 1: Registration from for User and Instructor

Page | 34
6.2 Login Form:
In this login portion, a user simply enters the right email id and password, then system
will try to matched with the database against the provided user email id and password
which is already store in the database. If not match found, the user is back to login page.
If a match is found, the user is directed to a home page.

Figure 6. 2: Login for User, Instructor and Admin

Page | 35
6.3 Became an Instructor Form:
In this following portion any registered user can apply through “Became an
Instructor” registration form as an Instructor by given some required additional
information including Biography.

Figure 6. 3: Became an Instructor Form

Page | 36
6.4 Instructor Dashboard:
After successfully registration and login as an instructor, He or she can see the
dashboard as Figure 6.4 as shown below. In this following dashboard instructor can see
recently added courses, total courses, total lectures, total videos. Also, he or she can
access profile page, courses view-add page and others pages.

Figure 6. 4: Instructor dashboard

6.5 Instructor Profile:


In this following profile page instructor can see, edit and delete his or her personal and
professional information.

Figure 6. 5: Instructor profile

Page | 37
6.6 Instructor Course View and Add Page:
In this following course view and add page instructor can add, see, edit and delete his
or her courses.

Figure 6. 6: Instructor courses page


6.7 Instructor Add Course Form Page:
In this following instructor add course form page, Instructor can add courses by fill the required
information through course info form, he or she can upload course image, promo video. Also,
he and she can add course specification, course materials like video, Doc, Text, Pdf, Audio,
external link and can decorate the course according to section, lecture.

Page | 38
Figure 6. 7: Instructor Add Course Form Page
Page | 39
6.8 Instructor Credit Page:
In this credit page instructor can see his or her earning amount form enroll courses
which courses created by him or herself.

Figure 6. 8: Instructor Credit Page

6.9 Instructor Withdraw Request From:


From his or her available earning balance, instructor can send withdraw request to
admin by this withdraw request form.

Figure 6. 9: Instructor Withdraw Request From

Page | 40
6.10 Admin Dashboard:
After successfully login through authorized mail id admin can see the dashboard as
Figure6.10 as shown below. In this following dashboard admin can see the number of
registered students, instructors, recently added courses, total courses. Also, he or she
can access user management, courses category and others pages.

Figure 6. 10: Admin Dashboard.

Page | 41
6.11 Admin User Management Page:
Admin can see and edit all the user, their role, there details through this following user
management page. Here admin can add new user and can change role of user. Also,
admin can inactive and deactivate the user.

Figure 6. 11: Admin User Management Page.

6.12 Admin User Add Form:


Through this form admin can create new user by fill-up the form according to necessary
requirement, Admin also can set role like student & instructor and active and inactive the users.

Figure 6. 12: Admin User Add Form

Page | 42
6.13 Admin Categories Management Page:
Admin can add, edit, delete the category through this following Categories page for
Instructor. For add a course Instructor must chose a category from category list which
categories created by admin. Also, admin can inactive and deactivate every single
category.

Figure 6. 13: Admin-Categories Management

6.14 Admin Categories Add Page:


Admin can add category through providing the category name, chose category icon and
chose category status like active & inactive by these categories add form.

Figure 6. 14: Admin Categories Add Page

Page | 43
6.15 Admin Withdraw-Requests Page:
Admin can see, approve and take necessary stapes which withdraw requested send by
the instructors.

Figure 6. 15: Admin Withdraw-Requests Page

Page | 44
6.16 Admin Contact Us Page Config:
Admin can add, edit, delete the website contact information through this following
contact us page for website visitor. Here admin can add Telephone number, E-mail id,
Address and map location.

Figure 6. 16: Admin Contact Us Page Config

6.17 Admin About Us Page Config:


Here admin can re-arrange the about page.

Figure 6. 17: Admin About Us Page Config

Page | 45
6.18 Admin Home Page Config:
Here admin can change banner title, Banner text and other information.

Figure 6. 18: Admin Home Page Config

6.19 Admin Blog Page:


In this flowing blog dashboard admin can add new blog post. Also, admin can see, edit
and delete previous posted blog.

Figure 6. 19: Admin Blog Page

Page | 46
6.20 Admin Add Blog Form:
Through this blog from admin can post blog by providing details and image. Also,
admin can active or inactive the blog through this form.

Figure 6. 20: Admin Add Blog Form

6.21 Visitor Blog View Page:

Figure 6. 21: Visitor Blog View Page

Page | 47
6.22 Visitor Contact Us View Page:
Virtual Learning portal visitors can view this contact details by clicking contact page
from footer of this portal. In this page, visitor can send mail to admin through this drop
up massage from.

Figure 6. 22: Visitor Contact Us Page

Page | 48
6.23 Admin Get Mail from Visitor:
Admin Receive this mail, when visitor send mail through contact us page.

Figure 6. 23: Admin Get Mail from Visitor

Page | 49
6.24 About Us View Page:

Figure 6. 24: About Us View Page


Page | 50
6.25 Home View: Page:

Figure 6. 25: Home View Page

Page | 51
6.26 Course Categories for Users

Figure 6. 26: Course Categories for User

6.27 Course List with Filter Option for Visitor:

Figure 6. 27: Course List with Filter Option for user


Page | 52
6.28 Details Course View:
Here visitor can see specific course details like Number of lectures, video, time length,
Specification, course overview, rating. Here also student can get course enroll option.

Figure 6. 28: Details Course View

Page | 53
6.29 Course Enroll and Checkout:
After click on “Course Enroll” Button from course details page, you are redirect to
checkout from. Only login user can Enroll courses. For successfully enroll the course
you need to click on pay or subscription to the course. After success full subscribe you
will redirect to subscription status page.

Figure 6. 29: Course Enroll and Checkout

Page | 54
6.30 My Courses Page & Learn Course Page:

Figure 6. 30: My Courses Page & Course Learn Page

Page | 55
6.31 Course Rating Successful:

Figure 6. 31: Course Rating Successful

Page | 56
6.32 Instructor List View Page:

Figure 6. 32: Instructor List View Page

6.33 Instructor Details View Page:


Here visitor can see instructor details, contact details, courses taught by specific
instructor and massage sending from.

Figure 6. 33: Instructor Details View Page

Page | 57
6.34 Student Quires to Instructor:
Student can send mail through this “Drop Message” form and instructor will received the
mail and reply as usual.

Figure 6. 34: Student Quires to Instructor

Page | 58
6.35 Verify Email:
When visitor try to registration on Virtual Learning site, if his or her mail address are
correct, they will receive a mail with verification link.
Mail address is not correct:

Mail address is correct:

Figure 6. 35: Verify Email

Page | 59
6.36 Database of our Virtual Learning Project

Figure 6. 36: Database of our Virtual Learning Project

Page | 60
7 Chapter: Testing
The project of Development and post- development support of virtual learning for full
testing follow some criteria for Excellent testing plan. Example of Testing:
• Unit testing
• Functional testing
• Installation testing
• Compatibility testing
• Smoke & sanity testing
• Stress Testing
• Acceptance testing
• Alpha testing
• Beta testing
• Functional vs non-functional testing
• Continuous testing
• Software performance testing
• Usability testing
• Accessibility testing
• Security testing
Testing is a process of executing a program with the intent of finding bugs that makes
the application fail to meet the expected behavior. Regardless of the development
methodology, the ultimate goal of testing is to make sure that what is created does what
it is supposed to do. Testing plays a critical role for assuring quality and reliability of
the software. I have included testing as a part of development process. The test cases
should be designed with maximum possibilities of finding the errors or bugs. Various
level of testing are as follows.
Testing Levels
Unit testing: Unit testing tests the functionality of individual units of source code. It is
the smallest component of a testable software that works in isolation with other parts of
the code. I have done unit testing for various individual components of the source code
to uncover errors within the boundary of the application.
Integration testing: Integration testing focuses on the design and construction of the
software. Here the individual components that are tested using unit tests are combined

Page | 61
and tested as a group. Its primary purpose is to expose the defects associated with the
interfacing of modules. It checks if the modules perform the desired functionality when
integrated together.
System testing: System testing is performed on a completely integrated system to see
if it meets the requirements.
Regression testing: Regression testing aims at verifying the functionality of the
software that is previously tested and to which changes are made. It is to ensure the old
software still works with new changes.
Acceptance testing: Acceptance testing is conducted to verify if the system compliance
the business requirements. Adhering to the levels of testing, Unit testing is performed
on individual components of the system ensuring the expected behavior. Later, I have
integrated various components together and performed Integration testing. Once the
integration testing is done, I have performed System 30 testing and ensured the
application works as per the requirements. Finally, acceptance testing is performed to
check if the client accepts the system.
Alpha testing: Alpha Testing can be defined as a form of acceptance testing which is
carried out for identifying various types of issues or bugs before publishing the build
or executable of software public or market. This test type focuses on the real users
through black box and white box testing techniques. The focus remains on the task
which a general user might want or experience.
Alpha testing any product is done when product development is on the verge of
completion. Slight changes in design can be made after conducting the alpha test. This
testing methodology is performed in lab surroundings by the developers. Here
developers see things in the software from users point and try to detect the problems.
These testers are internal company or organization's employees or may be a part of the
testing team. Alpha testing is done early at the end of software development before beta
testing.
Beta testing: Beta Testing can be defined as the second stage of testing any product
before release where a sample of the released product with minimum features and
characteristics is being given to the intended audience for trying out or temporarily
using the product. Unlike an alpha test, the beta test is being carried out by real users in
the real environment. This allows the targeted customers to dive into the product's
design, working, interface, functionality.

Page | 62
Security testing: Security Testing is a type of Software testing that uncovers
vulnerabilities of the system and determines that the data and resources of the system
are protected from possible intruders. It ensures that the software system and
application are free from any threats or risks that can cause a loss. Security testing of
any system is focuses on finding all possible loopholes and weaknesses of the system
which might result into the loss of information or repute of the organization.

A BASIC CHART OF TESTING:

Table 7. 1: Basic Chart of Testing

Page | 63
8 Chapter: Scope for future work & Conclusion
8.1 Future Works
We are planning to run an online course portal, similar to Udemy, where anyone can
join as instructor according to his or her skills, knowledge, creativity and talent from
anywhere. On the other hand, the registered student can enroll unlimited course from
large numbers categorized course list. After learning from the course, they can attend
to the examination and view the progress of his or her learning. Also, student can clear
their doubts by asking the instructor and instructor can reply to the students.

8.2 Limitations
• It is a localhost project.
• Free local payment getaway not available.
• Laravel documentation is not good enough for developing large a project.
• Community support is not widespread compared to other platforms.
• Many methods included in the reverse routing process are complex.
• The development is not as fast compared to other platforms.
• Laravel has limited built-in support.
8.3 Problem
• Some bootstrap option not work in Laravel framework.
• Some Integration with mail services not work in Laravel framework.

8.4 Conclusion:
We can understand that the necessity of virtual learning is increase day by day. We
found some existing website where they try to provide the educational services in many
ways. But all website provide teaching on some specific topic by some limited teacher
using common way. We are trying to find the gap of their teaching systems and try to
cover all the gap in our project. Hopefully we can reach all the knowledge seeker and
all the interested eligible, talented and creative teacher.

Page | 64
8.5 References:
[1]. Chopra, Gaurav, et al. "Effectiveness of e-learning portal from students’
perspective." Interactive Technology and Smart Education (2019).
[2]. Chopra, Gaurav, Pankaj Madan, Piyush Jaisingh, and Preeti Bhaskar.
"Effectiveness of e-learning portal from students’ perspective." Interactive
Technology and Smart Education (2019).
[3]. Giralt, Marta, Liam Murray, and Silvia Benini. "Applying Digital Learning to
Facilitate Student Transitions Within Higher Education Mobility Programmes:
implementing the Digilanguages. ie portal." All Ireland Journal of Higher
Education 11.3 (2019).
[4]. Chatziralli, Irini, et al. "Transforming ophthalmic education into virtual learning
during COVID-19 pandemic: a global perspective." Eye (2020): 1-8.
[5]. Sintema, E.J., 2020. E-Learning and Smart Revision Portal for Zambian
primary and secondary school learners: A digitalized virtual classroom in the
COVID-19 era and beyond. Aquademia, 4(2), p.ep20017.
[6]. Votkin, T., Wallenius, L., Lehto, T. and Halsas, M., 2019. Pedagogical
Underpinnings of a Multi-Disciplinary Language Learning Portal-the
Connection Between Theory and Practice. INTED2019 Proceedings.
[7]. Mery, Y., Newby, J. and Peng, K., 2012. Performance-based assessment in an
online course: Comparing different types of information literacy instruction.
portal: Libraries and the Academy, 12(3), pp.283-298.

Page | 65

You might also like