Group-C (E-Learning-Portal)
Group-C (E-Learning-Portal)
StudyLand
(Web Based Learning System)
By
• Subhrajit Nayak
• Sabyasachi Mazumder
• Shybal Ghosh
• Rudra Narayan Paul
• Anirban Guha
• Pallabi Dome
Mr. Rudra Narayan Paul (Roll No: 183544-21-0058, Reg. No: 544-1111-0387-18)
It is our prime duty to express our sincere gratitude to all those who have helped us
to complete this project successfully. We want to express our respectful and sincere
thanks to our respected and honourable project guide Prof. Amitava Biswas,
Department of Computer science, Thakurpukur, Vivekananda College for the
valuable cooperation, guidance and continuous support rendered by hime throughout
our project works.
At least we would like to thanks and we are also grateful to Prof. Jhuma Mazumder,
Dept. Co-ordinator along with other Dept Teacher, staff and all other classmates for
giving needful advises and support for completion of this project.
Table of Contents
TOPICS Page No.
1. ABSTRACT (4 - 7)
• Introduction
• Abstract
• Scope of the project
o Introduction to MySQL
o Introduction to PHP
2
o Introduction to phpMyAdmin
o Introduction to HTML
o Introduction to CSS
• Advantages of CSS
o Introduction to JavaScript
o Introduction to XAMPP
o Introduction to Bootstrap
➢ Category
➢ Hardware and Software Requirements
o Software Used
o Hardware Used
➢ Description of the component of system
Design
➢ Output Design
➢ Input Design
➢ Design Considerations
➢ Database Design
o Entity
o Attribute
o Relation
❖ Entities
❖ Attributes
❖ Relationships
❖ ER Diagrams
❖ Data Dictionary
➢ Normalization
3
➢ Functional Flowchart
➢ Use-Case Diagram
➢ Class Diagram
Abstract
5
Introduction
In the era of internet all the essential items can be found on the internet. From groceries to furniture
and all other things which are very important for our regular life, we can buy all of those things on
the internet. Even the education system got upgraded to online. Recently e-learning systems are
experiencing rapid development. We are experiencing a rough time where the lives, health,
economy even the education system got affected from this pandemic situation. Education is the
most important thing in anyone’s life. But in this time where maintaining social distancing is an
obvious, a student can’t attend schools or colleges in regular way. So, online classes are organised
by the schools and colleges for the students for safe learning. Online classes are an integrated part
of e-learning that’s why e-learning got a huge popularity among the student and the teachers.
The advantages of learning through a global network are manifold and obvious: the independence
of time and space, learners can learn at their own pace, learning materials can be organized in one
place and used-processed all around the world. One of the most important segments in today’s
development and use of e-learning system is the personalization of the contents and building of
the user profiles based on the learning behaviour of each individual user. The personalization
options increase the efficiency of e-learning, thus justifying the higher initial cost of their
construction. In order to personalize the learning process and adapt content to each learner, e-
learning systems can use some strategies that have the ability to meet the needs of learners. Also,
these systems have to use different technologies to change the environment and perform the
adaptation of different teaching materials based on the needs of the learners. The process of
adaptation of contents, learning processes, feedbacks or navigation and objectives studied in the
subsequently presented research, and presents major standards and specifications in e-learning.
6
So, initially after completing the project we will try to increase the content of our website so that
a major number of users can get the benefit. We will also try to add some new features on the
proposed system. Our main goal will be scale down this project to mobile app. This way it will
become much flexible to use.
8
Background/Review Of
Related Work
9
Introduction to SDLC
A software development life cycle (SDLC) model describes the different activities that need to be
carried out for the software to evolve in its life cycle. For example, for a software to evolve from
the requirements specification stage to the design stage, the developers need to elicit requirements
from the customers, analyze those requirements, and formally document the requirements in the
form of SRS documents. Then System Requirements are specified followed by phases of System
design, System implementation, Testing, Conversion and Evaluation. Also, a recycling and
maintenance activity may occur if the following system still need modification or redevelopment.
So, maintaining a system is also the most crucial part of the “Development Cycle”.
SDLC Model
There are 5 different types of SDLC models:
The diagrammatic representation of Spiral model appears like a spiral with many loops. Each loop
of the spiral represents a phase of the software process. The radius of the spiral at any point
represents the cost incurred in the project till then and the angular dimensions represent the
progress made in the current phase.
1. The 1st quadrant or Object Setting phase identifies, Objectives of the phase.
→ And if there is any risk then necessary steps are taken to reduce the risks.
3. The section of 3rd quadrant is also known as the Development and Validation phase. In
this phase the next level is developed and validated after resolving all risks.
II. This model is much more complex and difficult to understand if a new employee is entered
in the project development.
IV. Not defined the end points of the project, so it can take a long time to develop or iterations
can go infinitely.
12
Development schedule:
Development schedule is one of the important parts of the planning, there is a different way of
making development here we used Gantt chart for development schedule. The development
schedule must be independent as possible. Ideally, the components should be stand-alone so that
it does not need any other component to operate. This is only possible for every simple component
and a more complex component is inevitably having some dependencies on another component.
The schedule gives the time estimation of the project. In the project or development of software,
there are different phases like study, design, implementation, and test. Our project also has
different phases and each phase takes a different time for development.
Our project starts on the 5th of May 2021 and ends on the. The total time taken by our project is.
The project consists of different phases like Analysis, design, implementation, and testing.
13
TASK MAY MAY MAY MAY MAY JUNE JUNE JUNE JUNE JULY JULY JULY JULY
NAME
02/21 09/21 16/21 23/21 30/21 06/21 13/21 20/21 27/21 04/21 11/21 18/21 25/21
ANALYSIS 100%
ANALYSE
TESTING 100%
TESTING
2.1 Functionality
This project has 3 major functional units—
Operational Feasibility
The most important step is the implementation plan for the strategy of E-Learning deployment.
Proposed project is beneficial only if it can be turned into information systems that will meet the
operating requirements of the organization. This feasibility asks if the system will work when it is
developed and installed. So, in this project we tested the operational feasibility by determining:
➢ Whether there is sufficient support for the project from the organization.
➢ Is the current system being acceptable by them?
➢ Will the proposed system causes harm?
➢ Can our system give learners the best study guide?
➢ Will Teachers be satisfied with the working technique of our system?
➢ Whether we can achieve 100% success based on our goal?
➢ Most importantly user friendly our system will be?
➢ Last but on the least, study on how much helpful our system for our users?
Technical Feasibility
The process of proving that the concept is technically possible . Technical Feasibility, involves
development of a working model or the product of the service. This Assessment focuses on the
technical resources available to the organization. The objective of the technical feasibility step is
to confirm that the product will perform and to verify that there are no production barriers. There
are number of technical issues which are generally raised during the technical feasibility which are
determined as follows:
➢ Does the proposed equipment have the technical capacity to hold the data required to use
the new system?
➢ Can the system be upgraded if developed?
➢ Is there technical guarantee of accuracy, reliability, and ease to access?
➢ Will the system be user-friendly enough?
➢ How much easy is the Registration process?
➢ Security of the Portal.
➢ Regular Updation of the system.
16
Economic Feasibility
A system that can be developed technically and will be used be profitable for the organization.
Financial benefits must equal or exceed the costs. The first purpose of this effort is to financially
model the venture opportunity & achieve a break-even analysis. These scenarios will be critical in
strategic planning, milestone development & venture valuation analysis. The simple objective is
to determine what level of revenue is required to satisfy the return of investment of the developers.
The main objective of the Economic Feasibility is to develop a financial model of the business
venture. The analysis raises various financial questions during the investigation to estimate the
following:
➢ The cost of conduct, a full system investigation.
➢ The cost of hardware and software for the application being used.
➢ The benefits in the form of cost or fewer costly errors.
➢ The cost if nothing changes.
➢ How much the cost can be minimized without compromising any drawbacks?
➢ How much it can reach among students?
➢ Well maintained advertisement of the system.
To be judged feasible, a proposal for the specific project must pass all these tests. Otherwise, it is
not considered as economic feasible.
In general, request that don’t pass all the feasibility tests are not persuaded further, unless they are
modified and resubmitted as new proposals.
Time Feasibility
Time Feasibility is a measure how reasonable the project timetable is. The required system’s
development was expected to be successfully completed within the stipulated time, as the
constraints of time placed on the process was of crucial importance . A project will fail if it takes
too long to be completed before it is useful. If we look, clearly we will see that how much Economic
Feasibility depends on Time Feasibility. Thus, finally concluding that the proposed project fulfilled
all feasibility requirements, the implementation of the project was progressed with. Thus,
everything is done while taking time into consideration.
17
Software Environment
Technology Used
INTRODUCTION TO 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 programmers 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.
MySQL is free and open-source software under the terms of the GNU General Public License, and
is also available under a variety of proprietary licenses. MySQL was owned and sponsored by the
Swedish company MySQL AB, which was bought by Sun Microsystems (now Oracle
Corporation). In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL
project to create MariaDB.
MySQL has stand-alone clients that allows users to interact directly with a MySQL database using
SQL, but more often, MySQL is used with other programs to implement applications that need
relational database capability. MySQL is a component of the LAMP web application software
stack (and others).
INTRODUCTION TO PHP
PHP is a general-purpose scripting language especially suited to web development. It was
originally created by Danish-Canadian programmer Rasmus Lerdorf in 1944. The PHP
reference implementation is now produced by the PHP Group. PHP originally stood for Personal
Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor. PHP
code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon
or as a Common Gateway Interface (CGI) executable. On a web server, the result of the
interpreted and executed PHP code – which may be any type of data – would form the whole or
part of an http response. Various web template systems, web content management systems, and
web frameworks exist which can be employed to orchestrate or facilitate the generation of that
18
response. Additionally, PHP can be used for many programming tasks outside of the web context,
such as standalone graphical applications and robotic drone control. PHP code can also be directly
executed from the command line.
PHP files can contain text, HTML, CSS, JavaScript, and PHP code. PHP code is executed on
the server, and the result is returned to the browser as plain HTML. PHP files have extension
“.php”.
PHP can generate dynamic page content. PHP can create, open, read, write, delete, and close
files on the server. PHP can collect from data. PHP can add, delete, modify data in your
database. PHP can be used to control user-access. PHP can encrypt data. With PHP you are not
limited to output HTML. You can output images, PDF files, and even Flash movies. You can also
output any text, such as XHTML and XML.
PHP runs on various platforms (Windows, Linux, Unix, Mac OS X, etc). PHP is compatible with
almost all servers used today (Apache, IIS, etc.). PHP supports a wide range of databases. PHP is
free and also easy to learn and runs efficiently on the server side.
INTRODUCTION TO phpMyAdmin
phpMyAdmin is a free and opensource administration tool for MySQL and MariaDB. As a
portable web application written primarily in PHP, it has become one of the most popular MySQL
administration tools, especially for web hosting services. Tobias Ratschiller, then an IT consultant
and later founder of the software company Maguma, started to work on a PHP-based web front-
end to MySQL in 1998, inspired by MySQL-Webadmin. He gave up the project in 2000 because
of lack of time. By that time, phpMyAdmin had already become one of the most popular PHP
applications and MySQL administration tools, with a large community of users and contributors.
In order to coordinate the growing number of patches, a group of three developers (Olivier Muller,
Marc Delisle and Loic Chapeaux) registered the phpMyAdmin project at Source-Forge and took
over the development in 2001. In July 2015, the main website and the downloads left Source-Forge
and moved to a content delivery network. At the same time, the releases began to be PGP-signed.
Afterwards, issue tracking moved to GitHub and the mailing lists migrated. Before version 4,
which uses Ajax extensively to enhance usability, the software used HTML frames.
• Export data to various formats: CSV, SQL, XML, jQuery, PDF (via the TCPDF library),
ISO/IEC 26300 – OpenDocument Text and Spreadsheet, Word, Excel, SQL, and others
INTRODUCTION TO HTML
The Hypertext Markup Language, or 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.
HTML elements are the building blocks of HTML pages. With HTML constructs, images and
other objects such as interactive forms may be embedded into the rendered page. HTML provides
a means to create structured documents by denoting structural semantics for text such as
headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags,
written using angle brackets. Tags such as <img> and <input> directly introduce content into the
page. Other tags such as <p> surround and provide information about documents text and may
include other tags as sub-elements. Browsers do not display the HTML tags, but use them to
interpret the content of the page.
HTML can embed programs written in a scripting language such as JavaScript, which affects
the behaviour and content of web pages. Inclusion of CSS defines the look and layout of content.
The World Wide Web Consortium (W3C), former maintainer of the HTML and current
maintainer of the CSS standards, has encouraged the use of CSS over explicit presentational
HTML since 1997.
INTRODUCTION TO CSS
Cascading Style Sheet (CSS) is a style sheet language used for describing the presentation of a
document written in a markup language such as HTML. CSS is a cornerstone technology of the
World Wide Web, alongside HTML and JavaScript.
Latest release: CSS 2.1: Level 2 Revision 1 (April 12, 2016; 5 years ago)
CSS facilities publication of content in multiple presentation formats based on nominal parameters.
Nominal parameters include explicit user preferences, different web browsers, the type of device
being used to view the content, the geographic location of the user and many other variables.
21
Each web browser uses a layout engine to render web pages, and support for CSS functionality is
not consistent between them. Because browsers do not parse CSS perfectly, multiple coding
techniques have been developed to target specific browsers with workarounds (commonly known
as CSS hacks or CSS filters). Adoption of new functionality in CSS can be hindered by lack of
support in major browsers. For example, Internet Explorer was slow to add support for many CSS
3 features and damaged the browser’s reputation among developers. In order to ensure a consistent
experience for their users, web developers often test their sites across multiple operating systems,
browsers, and browser versions, increasing development time and complexity.
Advantages of CSS:
• Site-wide consistency: When CSS is used effectively in terms of inheritance and
“cascading”, a global style sheet can be used to affect and style elements site-wide. If the
situation arises that the styling of the elements should be changed or adjusted, these
changes can be made by editing rules in the global style sheet. Before CSS, this sort of
maintenance was more difficult, expensive and time-consuming.
• Bandwidth: A style sheet, internal or external, specifies the style once for a range of
HTML elements selected by class, type or relationship to others. This is much more
efficient than repeating style information inline for each occurrence of the element. An
external style sheet is usually stored in the browser cache, and can therefore be used on
multiple pages without being reloaded, further reducing data transfer over a network.
• Page reformatting: With a simple change of one line, a different style sheet can be used
for the same page. This has advantages for accessibility, as well as providing the ability
to tailor a page or site to different target devices.
• Accessibility: Without CSS, web designers must typically lay out their pages with
techniques such as HTML tables that hinder accessibility for vision-impaired users.
INTRODUCTION TO JavaScript
JavaScript often abbreviated as JS, is a programming language that conforms to ECMAScript
specification. JavaScript is high-level, often Just-in-time complied, and multi-paradigm. It has
curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class
functions.
Designed by: Brendan Eich of Netscape initially; others have also contributed to ECMAScript
standard
Although there are similarities between JavaScript and Java, including language name, syntax, and
respective standard libraries, the two languages are distinct and differ greatly in design.
• Every major web browser has built-in web development tools, including a JavaScript
debugger.
• Static program analysis tools, such as ESLint and JSLint, scan JavaScript code for
conformance to a set of standards and guidelines.
• Some browsers have built-in profilers. Standalone profiling libraries have also been
created, such as benchmark.js and jsbench.
• Many text editors have syntax highlighting support for JavaScript code.
INTRODUCTION TO XAMPP
XAMPP is a free and opensource cross platform web server solution stack package developed
by Apache Friends, consisting mainly of the ApacheHTTP 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 WAMPP or LAMP stack can be installed quickly and
simply on an operating system by a developer.
XAMPP is regularly updated to the latest releases of Apache, MariaDB, PHP, and Perl. It also
comes with a number of other modules including OpenSSl, phpMyAdmin, MediaWiki, Joomla,
WordPress and more. Self-contained, multiple instances of XAMPP can exist on a single
computer, and any given instance can be copied from one computer to another. XAMPP is offered
in both a full and a standard version.
23
The most obvious characteristic of XAMPP is the ease at which a WAMP webserver stack can be
deployed and instantiated. XAMPP also provides support for creating and manipulating databases
in MariaDB and SQLite among others. Once XAMPP is installed, it is possible to treat a localhost
like a remote host by connecting using an FTP client. Using a program like FileZilla has many
advantages when installing a content management system (CMS). It is also possible to connect
to localhost via FTP with an HTML editor.
INTRODUCTION TO BOOTSTRAP
Bootstrap is free and open-source CSS framework directed at responsive, mobile-first
frontend web development. It contains CSS and (optionally) JavaScript based design templates
for typography, forms, buttons, navigation and other interface components.
As of April 2021, Bootstrap is the tenth most starred project on Github, with more than 150,000
stars. Bootstrap is a HTML, CSS and JS Library that focuses on simplifying the development of
informative web pages. The primary purpose of adding it to a web project is to apply Bootstrap’s
choices of color, size, font and layout to the project. Once added to a project, Bootstrap provides
basic style definitions for all HTML elements. The result is uniform appearance for prose, tables
and from elements across web browsers. In addition developers can take advantages of CSS
classes defined in Bootstrap to further customize the appearance of their contents. Bootstrap also
comes with several JavaScript components in the form of jQuery plugins. They provide additional
user interface elements such as dialog boxes, tooltips. Each Bootstrap component consists of an
HTML structure, CSS declarations, and in some cases accompanying JavaScript code. The most
components of Bootstrap are its layout components, as they affect an entire web page. The basic
layout component is called “Container”, as every other element in the page is placed in it.
24
Category: Internet
Software used:
Platform : Windows 10
Hardware used:
Processor : Intel Core i5-8250U, up to 3.4 GHz
RAM : 8GB
Keyboard : Zebronics
Mouse : Zebronics
25
is developed from the top down and functional, that is, broken down into manageable components.
In this project we modularized the system so that they have minimal effect on each other. So the
Admin Module deals with payment, teachers, students and almost all the purposes related
of that website such as activity management, course details, assignments etc. It is the main
part of website.
Login to system deals with the candidates who wants to login in the system.
Payment Management deals with the payments like course fees and exam fees from
students.
Activity Management deals with the activities of users. It checks if a user is active or not.
Course Details gives our users a proper idea of the courses offered by our system.
26
Functional Flowchart:
A System consists of many different activities or processes. We know the relation between the
processes that one process will contain several individual processes. We often show these relations
E-Learning portal
Admin
Teacher
Student
Login to system
Subject
Course
Methodology
29
Design
The most challenging phase of the system life cycle is system design. The term design describes a
final system and the process by which it is developed. It refers to the technical specifications that
will be applied in implementing the candidate system. It also includes the construction of programs
and program testing.
System design is a solution, a “how to” approach the creation of a new system. This important
phase is composed of several steps. It provides understanding and procedural details necessary for
implementing the system recommended in the feasibility study. Emphasis is on translating the
performance requirements into design specifications.
The first step is to determine how the output is to be produced and int what format. Samples of the
output and input are also presented. Second, input data and master files (database) have to be
designed to meet the requirements of the proposed output. The operational (processing) phases are
handled through program construction and testing, including a list of programs needed to meet the
systems objectives and to complete documentation. Finally, details related to justification of the
system and an estimate of the impact of the candidate system on the user and the organization are
documented and evaluated by management as a step toward implementation. The basic steps in
designing are:
• Output Design
• Input Design
• Data Design
• Process Design
Output Design
Output of the system is the most important and direct source of information to the user.
Efficient, intelligible output design should improve the system’s relationships with the user and
help in decision making. A major form of output is hard copy from the printer.
Output from computer system is required to communicate the result of processing to users.
Designing computer output should process in an organized. Well thought out manner. The right
output must be developed while ensuring that each output element is designed so that the user will
find the system easy to use.
In addition to deciding on the output device, the systems analyst must consider the print
format and the editing for the final printout. The task of output preparation is critical, requiring
skill and ability to align user requirements with the capabilities of the system in operation. The
design considerations we have followed while designing output are:
30
• Name or title.
• Space and arrangement
• Headers and footers.
In online applications, the layout sheet for displayed output is similar to the layout chart used for
designing input. In these cases, the output forms are similar to the input forms. Other type of
applications output forms like reports used to make decisions must be designed carefully. The
following layout describes our report designing.
Input Design
Inaccurate input data are the most common cause of errors in data processing. Errors entered by
data entry operators can be controlled by input design. Input design is the process of converting
user-originated inputs to a computer-based format. In the system design phase, the expanded data
flow diagram identifies logical data flows, data stores, sources and destinations. A system
flowchart specifies master files (database), transaction files and computer programs.
• Input Media: In this project, earlier stages identified the data that is input to the
transactions. The next step is what media should be used for the input. Since this is a Online
Learning project we need computer based online forms as the media for input entry. There
are three approaches for data entry with forms: menu based formatted forms, and prompts.
Here in this we have 2 login options. One for teacher and one for student. They have to
register them with proper details. After that they will be registered in the appropriate table
based on their input data. A formatted form is a pre-printed form or a template that requests
the user to enter data in appropriate locations. It is a fill-in-blank type. The form is flashed
on the screen as a unit. The cursor is usually positioned at the first blank. After the user
responds by filling in the appropriate information, the cursor automatically moves to the
next line, and so on until the form is completed.
• Forms Types: There are five types of forms classified by what it does in the system.
They are: action forms - to perform some action such as modifying, and deleting data,
memory forms - to store data in the appropriate tables and display existing historical data,
report forms – to generate decision support data from existing records, course forms – here
teachers can submit the study materials and students can access those materials by using
their ids and feedback form – here both teachers and students can give their feedbacks.
• Form Layout: When form is designed, a list is prepared of all the items to be included
on the form and the maximum space to be reserved. The form user to make sure it has the
required details should check the list.
o Title
o Data Zoning
31
Design Considerations:
In designing these forms we taken care several attributes that are mentioned below:
Form Title
Record
Navigation Data Zone
Action Commands
Online Help
32
Database Design
Entity:
Entity in DBMS can be a real-world object with an existence, for example. In College database,
the entities can be Professor, Student, Courses, etc. Entities has attributes, which can be considered
as properties describing it, for example, for professor entity, the attributes are Professor_Name,
Professor_Address, Professor_Salary, etc. The attribute value gets stored in the database.
Strong Entity: The strong entity has a primary key. Weak entities are dependent on strong entity.
Its existence is not dependent on any other entity. Strong Entity is represented by a single rectangle.
Weak Entity: The weak entity in DBMS do not have a primary key and are dependent on the parent
entity. It mainly depends on other entities. Weak Entity is represented by double rectangle.
Attribute:
Attribute
Relation:
Relation is sometimes used to refer to a table in a relational database but is more commonly
used to describe the relationships that can be created between those tables in a relational database. In
relational databases, a relationship exists between two tables when one of them has a foreign key that
references the primary key of the other table. This single fact allows relational databases to split and
store data in different tables, yet still link the disparate data items together. It is one of the features that
makes relational databases such powerful and efficient stores of information. The ability to define
relationships is so fundamental and so important that this is what differentiates relational databases
from other types of databases. Relation, therefore, is the defining feature of relational databases.
Relation may also be known as relationship.
Relationship
In our project we have identified entities, attributes for those entities, and relationships
between those entities from data collected at analysis phase.
These are listed below:
Entities:
▪ Admin
▪ teacher
▪ student
34
▪ Schedule
▪ Examination
▪ Question
▪ courses
▪ Paper
▪ contents
▪ Payment Management
Attributes:
Table Attributes
Relationships:
▪ Admin manages the whole system
▪ Teacher manage Course
▪ Teacher manage Schedule
▪ Teacher manage Examination
▪ Course has Contents
▪ Course has Payment
▪ Students enrol for Course
▪ Students browse Contents
▪ Students makes Payment
▪ Exam has Answers
▪ Exam has Questions
ER Diagrams:
ER diagrams are used to represent ER model as graphical notation. Then it will be easy to
Admin_em
ail id Admin_
name
Admin_phone
No.
Admin_a
ddress
Admin
manages
Course Has
Makes
M
id
Examination M 1
Enrol
for
Student id
Exam Exam
_time _id name
manages
Exam_ 1
date Student_a
Has
ddress
browse
Schedule
M
M Student_p
honeNo
teacher_i
time
Content
d Has
date id Content_i
d
Content_
question no
Ques_id
paper
Ques_type
description
id paper
_nam
e
exam
_id paper_
marks
37
Data Dictionary:
A data dictionary contains metadata i.e. data about the database. The data dictionary is very
important as it contains information such as what is in the database, who is allowed to access it,
where is the database physically stored etc. The users of the database normally do not interact with
the data dictionary, it is only handeled by the database admin.
Details about all the tables in the database, such as their owners, their security constrains, when
they were created etc.
Physical information about the tables such as where they are stored and how.
Table constrains such as primary key, attributes, foreign key information etc.
Contents:
Contents:
image varchar(255)
name nvarchar(64)
email char(64)
mobnumber nvarchar(64)
password varchar
status status
Contents:
image varchar(255)
name nvarchar(64)
email char(64)
mobnumber nvarchar(64)
password varchar
status status
39
Contents:
Contents:
teacherid bigint
name varchar
description varchar
image varchar
type enum
coursefee varchar
status enum
40
Contents:
Question Type
Contents:
answer_type
Contents:
exam_date datetime
41
exam_time datetime
Contents:
topicrid bigint
heading varchar(50)
type text
links varchar
content varchar
createdBy varchar
createdAt datetime
updatedAt datetime
status text
Contents:
Course Fee
43
Normalization
Normalization is the process of refining the data model built by the ER diagram. The
normalization technique, logically groups the data over the number of tables, with minimum
redundancy of data. The entities or tables resulting from normalization contain data items, with
relationships being represented by replication of key data items.
The goal of relational database design is to generate a set of relation schemes that allow
us to store information with minimum redundancy of data and allow us to retrieve information
easily and efficiently. The approach followed is to design schemas that are in an appropriate
form one of the so-called normal form.
The first step towards normalization is to convert the ER model into tables or relations. The next
step is to examine the database for redundancy and if necessary, change them to non-redundant
forms. This non-redundant model is then converted into a database definition, which achieves the
objective of the database design phase. We, defined database from the above ER model by
normalizing it to 3rd normal form. We will show the definitions of those database tables later at
the time of physical database design phase.
44
A graphic tool used to describe and analyze the moment of data through a system – manual or
automated – including the processes, stores of data, and delays in the system. Data flow diagrams
are the central tools and the basis from which other components are developed. The transformation
of data from input to output, through processes, may be described logically and independently of
the physical components associated with the system.
Teacher
Overview E-
Admin Learning
Request login/manages
System
teachers and courses
Student
Login/Uplo
Store
ad contents
Teacher’s
Data
0.3
Process
Teacher
Teacher
Fetch Records Response
Level 0 Data Flow Diagram:
Login/Visits
Store Courses
Student’s Data
45
0.2
Student
Process
Student
Data Storage
Fetch Records Response
Admin
Process
admin
Request Login
Login 0.1.1
View profile
teacher
Manages courses
Course
Admin Management
0.1.2
View courses
contents
paper
student
courses
student
contents
Login
0.2.2
Registration Courses
0.2.1
0.2.3
paper
Give exams
Exam
Student 0.2.4
Get results
Invoice
question
Feedback
Response
Payment
0.2.6
0.2.5
feedback
payment
48
teacher
courses
teacher
Show data
contents
Login
0.3.2
Registration Courses
0.3.1
0.3.3
paper
Publish results
Exam
Teacher 0.3.4
Take exams
feedback schedule
49
Use–Case Diagram:
Use – case diagram shows us the way how we’ll interact with the software as a
normal user. The diagram for this software is given below:
Teacher
Register
Student
Verify Id
Display
Error
Teacher
Login
Student
Popular
courses Verify Id
User
Manages
Display
Error
Get
started
View courses
and details
Update +
Contact us manages
View available
courses
Manage and
update
Choose courses
View course
Choose course
duration
Given Exam
Course enrollment
Studen
t
Payment
Upload Start Course
Answer
Verify
paper
Payment
Log View Contents
out
Download
View performance contents Show
and Marks error
messag
Manage
Edit profile Edit DOB
Edit Change
Edit phone password
Profile
photo
number
Admi
n
Update
51
View available
courses
Edit
View My
course Delete
course
s
Create
courses
Add Delete
content
Content
Edit
content
Teache
r
Exam Manage
Edit
Exam
and update
Date/Tim
Log
Create
out
Question View Upload
Paper Answer Marks and
Paper Remarks
Edit profile
Admin
Update
52
53
Implementation
54
A crucial phase in the system life cycle is the successful implementation of the new
system design. The change to make a web based application took place in phased
manner. First the system was used to enter, validate and store the different types of
data in the database used by the systems. The static data were also entered in the
directory files. The comparison testified to the reliability, speed and accuracy of the
web based system.
Testing
The aim of program testing is to help realise identify all defects in a program. However, in practice,
even after satisfactory completion of the testing phase, it is not possible to guarantee that a program
is error free. This is because the input data domain of most programs is very large, and it is not
practical to test the program exhaustively with respect to each value that the input can assume.
Consider a function taking a floating point number as argument. If a tester takes 1sec to type in a
value, then even a million testers would not be able to exhaustively test it after trying for a million
number of years. Even with this obvious limitation of the testing process, we should not
underestimate the importance of testing. We must remember that careful testing can expose a large
percentage of the defects existing in a program, and therefore provides a practical way of reducing
defects in a system. Software Testing is the process of executing a program or system with the
intent of finding errors. Or, it involves any activity aimed at evaluating an attribute or capability
of a program or system and determining that it meets its required results Software is not unlike
other physical processes where inputs are received and outputs are produced. Where software
differs is in the manner in which it fails. Most physical systems fail in a fixed (and reasonably
small) set of ways. By contrast, software can fail in many bizarre ways. Detecting all of the
different failure modes for software is generally infeasible unlike most physical systems; most of
the defects in software are design errors, not manufacturing defects. Software does not suffer from
corrosion, wear-and-tear -- generally it will not change until upgrades, or until obsolescence. So
once the software is Shipped, the design defects -- or bugs -- will be buried in and remain latent
until activation. Software bugs will almost always exist in any software module with moderate
size: not because programmers are careless or irresponsible, but because the complexity of
software is generally intractable -- and humans have only limited ability to manage complexity.
1. Unit testing: Unit testing is undertaken after a module has been coded and reviewed. This
activity is typically undertaken the coder of the module himself in the coding phase. Before
carried out unit testing, the unit test cases have to designed and test environment for the
unit under test has to be developed.
2. Integration Testing: Integration testing is carried out after all the module have been unit
tested. For successful completion of unit testing to a large extend, ensure that the unit as a
56
whole work as a satisfactorily. In this context, the objective of the integration testing is to
detect the errors at the module interfaces. For example, it is checked that no parameter
mismatch occur when one module invoked a functionality of another module. Thus the
primary objective of integration testing is to check the module interfaces, i.e., there is no
error in parameter passing. When one module invokes the functionality of another module.
During integration testing, different module of a system in a planned manner using an
integration plan. The integration plan specifies the step and the order in which modules are
combined to realize the full system.
Thus by examining the structure chart, the integration plan can be developed. Any
one of the following approaches can be used in develop the test plan.
Snap-Shots:
59
60
61
62
Coding:
Index Page
<!DOCTYPE html>
<html lang="en" prefix="og: http://ogp.me/ns#" style="height: 100%;">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-
scale=1">
<meta name="description" content="A studing portal for students. It contains well writ
ten, well thought and well explained computer science and programming articles, quizzes
and practice/competitive programming/company interview Questions.">
<link rel="shortcut icon" src="112-book-morph-outline-edited.json" type="image/x-
icon">
<meta name="theme-color" content="#308D46">
<meta property="og:image" content="112-book-morph-outline-edited.json">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="200">
<meta property="og:image:height" content="200">
<!-- Tailwind CSS -->
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
<!-- Bootstrap CSS -->
63
<body>
<?php include_once "layout/navbar.php"; ?>
<?php
if(isset($_REQUEST['status'])) {
echo $_REQUEST['status'];
}
?>
<?php
?>
<main id="main">
<div class="row">
<div class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5 mb-lg-0">
<div class="icon-box" data-aos="fade-up" data-aos-delay="100">
<h4 class="title"><a href="">Daily live classes</a></h4>
<p class="description">You can chat with educators, ask them questions, answer live polls, and
get your doubts cleared-
all while the class is going on
</p>
</div>
</div>
</div>
</div>
</section><!-- End Featured Services Section -->
<div class="section-title">
<h2>About</h2>
<h3>Find Out More <span>About Us</span></h3>
<p>Ut possimus qui ut temporibus culpa velit eveniet modi omnis est adipisci expedita at voluptas
atque vitae autem.</p>
</div>
<div class="row">
<div class="col-lg-6" data-aos="fade-right" data-aos-delay="100">
<img src="assets/img/about.jpg" class="img-fluid" alt="">
</div>
<div class="col-lg-6 pt-4 pt-lg-0 content d-flex flex-column justify-content-center" data-aos="fade-
up" data-aos-delay="100">
<h3>Voluptatem dignissimos provident quasi corporis voluptates sit assumenda.</h3>
<p class="fst-italic">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut lab
ore et dolore
magna aliqua.
</p>
<ul>
<li>
<i class="bx bx-store-alt"></i>
<div>
<h5>Ullamco laboris nisi ut aliquip consequat</h5>
<p>Magni facilis facilis repellendus cum excepturi quaerat praesentium libre trade</p>
</div>
</li>
<li>
<i class="bx bx-images"></i>
<div>
<h5>Magnam soluta odio exercitationem reprehenderi</h5>
<p>Quo totam dolorum at pariatur aut distinctio dolorum laudantium illo direna pasata redi</p
>
</div>
66
</li>
</ul>
<p>
Ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit i
n voluptate
velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, s
unt in
culpa qui officia deserunt mollit anim id est laborum
</p>
</div>
</div>
</div>
</section><!-- End About Section -->
<div class="section-title">
<p class="course-heading">Popular Courses</p>
</div>
</div>
</div>
</div> <!-- End Course Item-->
</div>
</div>
</div> <!-- End Course Item-->
</div>
</div>
</section><!-- End Popular Courses Section -->
</div>
</div>
</div>
</section><!-- End statistic Section -->
origin coffee ennui shaman taiyaki vape DIY tote bag drinking vinegar cronut adaptogen squid fanny pac
k vaporware.</p>
<span class="inline-block h-1 w-10 rounded bg-blue-500 mt-6 mb-4"></span>
<h2 class="text-gray-900 font-medium title-font tracking-wider text-sm">SHYBAL GHOSH</h2>
<p class="text-gray-500">Tester</p>
</div>
</div>
</div>
</div>
</section> <!--End Testimonial Section -->
<div class="section-title">
<h2>Contact</h2>
<h3><span>Contact Us</span></h3>
<p>Ut possimus qui ut temporibus culpa velit eveniet modi omnis est adipisci expedita at voluptas
atque vitae autem.</p>
</div>
</div>
</div>
</section><!-- End Contact Section -->
<div class="footer-top">
<div class="container">
<div class="row">
71
</div>
</div>
</div>
72
<!-
- <button class="btn" onclick="document.getElementById('id01').style.display='block'" style="width:auto
;"><a href = "registeras.php">Register</a></button>
<button class="btn" onclick="document.getElementById('id02').style.display='block'" style="widt
h:auto;"><a href = "loginAs.php">LoginAs</a></button> -->
</html>
73
Future Scope
E-Learning has become increasingly popular across Asia. The continent’s rise in internet users and
the revolutionary changes that have happened in education have created a very fertile environment
for e-learning to grow.
E-learning brings unique advantages, the most prominent being the ability for online instructors to
provide personalised attention to all students. This is especially critical for those students who
cannot afford private face-to-face tutoring sessions or who live in rural areas where such help is
not available. In a conventional set up, this is only possible when a highly skilled tutor offers one-
to-one tutorials to a student. Online tutoring will definitely pose a threat to conventional methods
of teaching—while online learning can never look at completely replacing schools as schools offer
much more than just academic opportunities within their campuses. However, private tuition
centres which are typically managed by individual teachers will have to take a second look at their
business model and adopt digital learning aids to sharpen their offerings.
In a nutshell, it is evident that the future scope of this project circles around maintaining
information. We have to make constant updates, to keep pace with the rest of the world. But due
to shortage of time the following features are unable to include:
• Live Classroom: Certain curricula may require specialised instructors. By using live
broadcasts, these instructors can remain in one location and provide instruction to many
students in other locations. This type of specialisation increases as students move into
higher levels of education, for example towards advanced degrees in medicine. Video
conferencing technology may also be used to provide interactions between students and
instructors. We would try our best to add this in future.
• Video content delivery: Pre-recorded content such as lectures, documentaries, and other
video content may be delivered in a forward and store model so that the material can be
viewed when needed. We will host the platform on online servers to make it accessible
worldwide.
• Student-to-student interactions (Messaging System): Related to the first point, students
may learn just as much from each other as they do from teachers. Thus, communications
technology can be used to connect students in different regions or even different parts of
the world so that they may interact.
• Remote test administration: In some countries, standardised tests are used to evaluate
students on a level playing field. These tests must be delivered securely and on time to
meet testing schedules. In Indonesia, for example, this is a daunting task simply because
of geography and population size. Digital delivery could be the solution.
• Up-to-date materials: As mentioned above, the basics seldom change. However, virtually
all textbooks must be updated. Textbooks are very expensive to purchase, maintain, and
74
deliver. Again, digital delivery solves this issue when coupled with e-Readers such as
tablets.
• Extra -curricular activities: We would also add some other field like singing, playing
instruments, dancing, drawing, etc, so that students can also learn more and enhance their
skills.
• Teachers and instructors may also take advantage of the technology to interact with their
peers, students, and parents using email and social media.
75
Conclusion
76
This project has been implemented to do some basic concepts. We have a few plans for
this project which is mentioned in the future scope portion, but we are unable to implement those
due to lack of time. The frontend of this project has been developed using HTML, JavaScript, CSS
and Bootstrap. The backend of this project has been developed by PHP and MySQL. The system
maintains data consistency by avoiding manual error and documents are maintained accurately
which reduces the losses that can be made due to various environment features. All the requirement
regarding to this problem are solved and the needs, specified in the problem definition are fulfilled.
This project will help all end users as a user-friendly system.
77
References
78
Websites:
1. www.google.com
2. www.w3schools.com
3. www.youtube.com
4. www.stackoverflow.com
5. www.bootstrap.com
6. www.wikipedia.com