Professional Documents
Culture Documents
A Project Submitted By
Sadia Islam
ID: 161412321
Mehedi Hasan
ID: 163432535
RAKIB HOSSEN
Lecturer
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
.
_______________________ ____________________
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.
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
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
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.
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.
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.
Course Material
In This module an Instructors can upload, modify and delete course material. Students
can watch and download the course material.
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.
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:
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 is a place where anyone can enroll in courses, get access to exclusive
contents and get skilled to be in demand.
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.
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.
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.
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:
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
Student feedback
system √ √ X X X X X X X X X X
To the Instructor
Page | 9
3 Chapter: Project Development Workflow
Developing
Analysis Planning Designing & Deployment
Testing
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
CODING+TESTING 30 30 30 5
Page | 12
Duration (count as month)
Member &
Supervisor
September
November
December
October
August
Sl
Name
Team
July
no
Task Name
2 Planning Phase
3 Design Phase
Designing the
Deployment
5 Phase
Documentation
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.
Page | 14
With each iteration in agile methodology, we make sure that development is achieved
towards the goals defined in the product requirements document.
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.
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
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.
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.
Page | 19
4 Chapter: Requirement Analysis
4.1 Software & Hardware Requirements for User
Software & Hardware Requirements for Running Web Application (User)
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
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.
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.
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 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
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.
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.
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.
Page | 29
5.1.4.2 Activity Diagram of Instructor Side:
Page | 30
5.1.4.3 Activity Diagram of Student Side
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Page | 43
6.15 Admin Withdraw-Requests Page:
Admin can see, approve and take necessary stapes which withdraw requested send by
the instructors.
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.
Page | 45
6.18 Admin Home Page Config:
Here admin can change banner title, Banner text and other information.
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.
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.
Page | 48
6.23 Admin Get Mail from Visitor:
Admin Receive this mail, when visitor send mail through contact us page.
Page | 49
6.24 About Us View Page:
Page | 51
6.26 Course Categories for Users
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.
Page | 54
6.30 My Courses Page & Learn Course Page:
Page | 55
6.31 Course Rating Successful:
Page | 56
6.32 Instructor List 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.
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:
Page | 59
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.
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