1
Development of a feature-rich, Online Education System
A Project Report for Internship
Submitted by
1. Piu Das.
2. Trina Das.
3. Sumanta Bhattacharya.
4. Biswajit Das.
5. Namasti Biswas.
In partial fulfilment for the award of the degree of
BCA
Maulana Abul kalam Azad University of Technology, (WB)
College logo
At
Euphoria Genx
INTRENSHIP 2024
2
BONAFIDE CERTICATE
Certified that this project work was carried out under my supervision
“Development of a feature-rich, practical Online education system’’ is the
Bonafide work of
Name of the student: Piu Das. Signature:
Name of the student: Sumanta Bhattacharya.
Signature:
Name of the student: Biswajit Das. Signature:
Name of the student: Trina Das. Signature:
Name of the student: Namasti Biswas. Signature:
SIGNATURE
Name: Saumitra Das.
3
Project Mentor
Acknowledgement
I take this opportunity to express my deep gratitude and sincerest
thank to my project mentor, Mr. Saumitra Das for giving most valuable
suggestion, helpful guidance and encouragement in the execution of
this project work.
I will like to give a special mention to my colleagues. Last but not the
least I am grateful to all the faculty members of Euphoria GenX or
their support.
1. Title of the Project
2. Introduction and Objectives of the Project
3. Project Category (RDBMS/OOPS/Networking/Multimedia/Artificial
Intelligence/Expert Systems etc.)
4. Tools/Platform, Hardware and Software Requirement specifications
5. Goals of Implementation
6. SDLC Process Applied
7. Data Model
8. Functional Requirements (Use Case Diagram)
9. Non-functional Requirements
4
10. Feasibility Study
11. Project Planning
12. Project Scheduling
13. Software Engineering Paradigm applied
a. Data Flow Diagram (DFD)
14. Database design
15. User Interface Design
16. Coding
17. Testing
18. System Security measures (Implementation of security for the
project developed)
19. Database/Data security
20. Creation of User profiles and access rights
21. Cost Estimation of the Project along with Cost Estimation Model
22. Reports (sample layouts should be placed)
23. Future scope and further enhancement of the Project
24. Bibliography
1.Title of the Project
Development of a feature-rich, practical online education system
5
2. Introduction and Objectives of the Project
This project is aimed at developing an online internet knowledge mgmt. system
that is of importance to either an organization or a college. The system is an
internet based application that can be accessed throughout the organization.
This System can be used as a knowledge/information mgmt for the college.
Students logging should be able to upload any kind of technical information.
Students logging in may also access any information put up by others. Online
education should have super users for approval of documents uploaded by
others.
1. A person should be able to
• Access the information from the first page (only read access)
• Login to system through the first page of the application
• See the details (like how many reports or technical documents are submitted)
• Get help about the knowledge mgmt. system on how to use the differ features of
the system
2. An admin login should be present who can read, approve as well as remove any uploads.
Developing a user registration and login system for an online education system
requires additional considerations. This system should cater to different types of
users (e.g., students, teachers, and administrators) and integrate roles and
permissions to handle different functionalities. Below is a detailed guide for
building such a system
6
3.Registration
• Separate registration options for students and teachers
• Collect additional details (e.g., courses of interest, teaching
experience, etc.). Title of the Project
• Validate and verify data (e.g., email verification).
3. Login:
• Authenticate users and assign appropriate roles.
• Redirect users to their role-specific dashboard (e.g., students to enrolled
courses, teachers to manage courses).
4. Roles and Permissions:
• Students: Enroll in courses, view course materials, and track progress.
• Teachers: Create/manage courses, view enrolled students.
• Admins: Oversee system operations, manage users and courses.
3.Project Category
Web Application
4.Tools/Platform, Hardware and Software Requirement specifications.
Tools
1. VS Code, Browser
Platform
7
1. Microsoft Windows 10/11
Hardware Requirement Specification
Client Machine Server Machine
HDD 200 MB HDD 320 GB
Processor Pentium 4 or newer Processor Dual Core or newer
processor that processor
supports SSE2
Memory 512 MB Memory 2 GB
Software Requirement Specification
Client Machine Server Machine
Browser Any standard browser Software Apache
with
Javascript interpreter
Client side mark up / HTML, Javascript Database MySQL
scripting languages
Management System
Software
Specification MySQL 4.1
5.The implementation goals of an online education system can be summarized as:
1. Accessibility: Provide education for all learners, regardless of location or abilities.
2. Flexibility: Enable learning at any time, from anywhere, at the student’s pace.
3. Quality Content: Offer engaging and expert-created learning materials.
4. Engagement: Boost student participation with interactive tools.
5. Scalability: Ensure the platform can support a growing number of users.
6. Effective Assessment: Provide diverse tools for evaluating student progress.
8
7. Personalization: Tailor the learning experience to individual needs.
8. Affordability: Reduce costs for learners and make education more accessible.
9. Continuous Improvement: Regularly update the platform and content based on
feedback.
10. Global Reach: Support multilingual courses and international collaborations.
6. SDLC Process Applied
The SDLC diagram for an online education system includes these phases:
1. Planning: Define project scope, goals, and resources needed.
2. Requirements Analysis: Gather detailed user and system requirements.
3. Design: Create the system architecture, UI/UX design, and database schema.
4. Development: Code the backend, frontend, and integrate features.
5. Testing: Conduct various tests (unit, integration, user acceptance) to find and fix issues.
6. Deployment: Launch the system to users on production servers.
7. Maintenance: Monitor, update, and fix bugs for continuous improvement.
Often, a customer defines a set of general objectives for software but does not identify
detailed input, processing, or output requirements. In other cases, the developer may be
unsure of the efficiency of an algorithm, the adaptability of an operating system, or the form
that human/machine interaction should take. In these, and many other situations, a
prototyping paradigm may offer the best approach.
9
The prototyping paradigm begins with requirements gathering. Developer and customer
meet and define the overall objectives for the software, identify whatever requirements are
known, and outline areas where further definition is mandatory. A "quick design" then
occurs. The quick design focuses on a representation of those aspects of the software that
will be visible to the customer/user (e.g., input approaches and output formats). The quick
design leads to the
construction of a prototype. The prototype is evaluated by the customer/user and used to
refine requirements for the software to be developed. Iteration occurs as the prototype is
tuned. to satisfy the needs of the customer, while at the same time enabling the developer
to better
understand what needs to be done.. Ideally, the prototype serves as a mechanism for
identifying software requirements. If a working prototype is built, the developer attempts to
use existing program fragments or applies tools
(e.g., report generators, window managers) that enable working programs to be generated
quickly.
10
Functional Requirements of an Online Education System
1. User Management: Registration, login, and user profiles for students, instructors, and
admins.
2. Course Management: Create, edit, and manage courses with multimedia content.
3. Learning Tools: Live classes, recorded lectures, assignments, and quizzes.
4. Communication: Real-time chat, discussion forums, and notifications.
5. Payment: Secure fee processing and subscription options.
6. Assessment: Exams, grading, progress tracking, and certificates.
7. Accessibility: Mobile-friendly, multilingual support, and scalable infrastructure.
8. Admin Controls: Role-based permissions, content moderation, and system backups.
9. Integration: Support for third-party tools like Zoom or Google Classroom.
11
Use Case Descriptions
Use Case Name: Registration and Login System
Priority Essential
Trigger Menu selection
Precondition User is connected to the Internet and on the ONLINE EDU home page
Basic Path 1. User enters username and password.
2. The username and password is matched with the record in the
database.
12
3. If the authentication parameters are correct the user is directed to the
user’s main page, otherwise an error message is displayed.
Alternate Path NA
Post Condition The user is on the User Home Page
Exception Path If there is a connection failure the server returns to the wait state
Use Case Name: Admin Video Uploading
Priority Essential
Trigger Menu selection
Precondition User is connected to the Internet and on the user’s main page
Basic Path 1. User selects a document.
2. User clicks on the upload document button.
3. The server side program receives the document and saves it in the
server system’s filesystem.
Alternate Path NA
Post Condition The user uploads the document.
Exception Path If there is a connection failure the server returns to the wait state
Use Case Name: Search Our Courses
Priority Essential
Trigger Menu selection
Precondition User is connected to the Internet and on the user’s main page
Basic Path 1. User selects the browse document link.
2. The server side program returns the list of documents.
Alternate Path NA
Post Condition The user has the list of all documents.
13
Exception Path If there is a connection failure the server returns to the wait state
Non-functional requirements for an online education system define the quality attributes
and constraints of the system. Here’s a summarized list:
1. Performance Requirements:
The system should handle concurrent users efficiently without significant lag.Videos and
content should load within 2-3 seconds on average.
2.Scalability:
Ability to scale to accommodate increasing numbers of users, courses, and data.
3. Availability:
Ensure 99.9% uptime for uninterrupted learning experiences.
4.Usability
Provide an intuitive and user-friendly interface for all users.
Ensure compatibility with various devices (PCs, tablets, smartphones).
5. Security
Implement secure login, data encryption, and protection against unauthorized access.
Ensure safe payment processing for course purchases.
6. Reliability
The system should recover quickly from failures and minimize data loss.
7. Maintainability
Allow for easy updates, bug fixes, and integration of new features.
8. Compliance
Adhere to relevant legal, educational, and data protection standards (e.g., GDPR).
9. Portability
Support deployment on multiple platforms (web, iOS, Android).
10. Accessibility
Ensure the system is accessible to users with disabilities, adhering to WCAG guidelines.These
non-functional requirements ensure the system is robust, efficient, and user-centric.
14
A feasibility study for an online education system evaluates whether developing and
implementing the system is practical and beneficial. Here's an outline:
1. Technical Feasibility
Technology Requirements: Assess the availability of required technologies (e.g., web hosting,
Learning Management System platforms, video streaming).
Infrastructure: Evaluate servers, bandwidth, and scalability to handle user loads.
Skills and Expertise: Ensure developers, designers, and IT staff can implement and maintain
the system.
2. Economic Feasibility
Development Costs: Estimate the budget for software development, hosting, and
integrations.
Operational Costs: Include maintenance, support, and marketing expenses.
Revenue Potential: Analyze income sources (e.g., subscriptions, course purchases, ads).
Return on Investment (ROI): Compare expected profits with costs to ensure profitability.
3. Operational Feasibility
Market Demand: Assess the demand for online education in the target audience.
User Readiness: Evaluate the digital literacy of potential students and instructors.
Organizational Support: Determine if the organization can manage and sustain the system.
4. Legal and Regulatory Feasibility
Compliance: Ensure adherence to educational standards, copyright laws, and data protection
regulations like GDPR or FERPA.
Licensing: Check requirements for delivering accredited courses.
5. Schedule Feasibility
Timeline: Define a realistic development and deployment timeline.
Milestones: Plan key phases such as development, testing, and launch. 6.
Social Feasibility
User Acceptance: Gauge willingness of students and instructors to adopt the system.
Cultural Considerations: Address language, accessibility, and inclusivity.
7. Environmental Feasibility
Sustainability: Ensure the system minimizes energy consumption and supports green
practice.
15
Feasibility Study
System: online education System Date: 19 July, 2024
Author :Piu Das Page: 1
Product
The project requires a web application to be developed that will allow online
knowledge/document/paper sharing.
Technical Feasibility
The web application will be developed using PHP and MySQL. The team is competent in
that.
Social Feasibility
Some training for the users/admin are required but all users are IT literate.
Market Research
Market research says that this application would be useful for the users as it could seamlessly
help them to share documents.
Economic Feasibility
The application can be developed within budget.
Alternate Solution
Could be a desktop system but that would not allow documents to be shared online.
Project Planning for an Online Education System
Project planning involves defining the objectives, scope, timeline, and resources required to
develop and launch an online education system. Below is a structured plan:
1. Define Objectives
Provide a platform for students and instructors to interact and share knowledge. enable
course creation, enrollment, and assessments.
Support accessibility, scalability, and robust user experience.
2. Scope of the Project
16
Inclusions: User registration, course management, live sessions, discussion forums, payment
integration, and reporting features.
Exclusions: Offline content delivery, physical infrastructure for students.
Assumptions: Users have basic internet access and digital literacy.
3. Stakeholders
Internal: Project manager, developers, UX designers, testers, and administrators.
External: Instructors, students, regulatory authorities, and sponsors.
4. Work Breakdown Structure (WBS)
Phase 1: Requirements Gathering
Conduct stakeholder interviews and define functional/non-functional requirements.
Phase 2: Design
Create wireframes, user flows, and database schema.
Phase 3: Development
Build user interfaces, backend, and integrations (e.g., video conferencing, payment systems).
Phase 4: Testing
Conduct unit, system, and user acceptance testing (UAT).
Phase 5: Deployment
Host the system on servers and perform a soft launch.
Phase 6: Maintenance and Updates
Monitor performance and implement improvements.
7. Risk Management
Technical Risks: Downtime, bugs, or scalability issues.
Financial Risks: Overshooting the budget or low ROI.
User Risks: Resistance to adoption or lack of engagement.
Mitigation: Regular testing, user feedback, and contingency funds.
8. Quality Assurance
Use Agile methodologies for iterative development.
Conduct usability testing with target users.
Ensure compliance with legal and accessibility standards.
9. Communication Plan
17
Weekly progress meetings with the team.
Monthly updates to stakeholders.
Use tools like Slack, Jira, and Zoom for collaboration.
10. Deliverables
Fully functional online education platform.
Documentation for users, admins, and developers.
Post-launch support and analytics.
This plan can be tailored based on specific project needs and available resources. 12.
Project Scheduling
13.Software Engineering Paradigm Applied Data Flow Diagrams
18
19
20
LEVEL1 for ADMIN
21
22
14.Schema/Database Design(project) Table
Name admin:-
Name of Type Data Type Key Description
Attribute
id Int(11) Primary key Admin id
23
Username Varchar(200) Admin first name
Middlename Varchar(200) Admin middle name
lastname Varchar(200) Admin last name
email Varchar(30) Admin email
pwd Varchar(30) Admin password
dob Varchar(10) Admin date of birth
gender Varchar(10) Admin gender
squestion Varchar(40) Admin question
ans Varchar(30) Admin ans
Table Name Student Comments-
Column Data Type Constraints Description
Name
CommentID int PRIMARY Unique identifier
for each comment
KEY,AUTOINCREMEN
T
Student ID INT FOREIGN(Stu dent References the
ID) student making
the comment
24
Course ID INT FOREIGN (Optional)Refere
KEY(Course e nces the
ID) instructor, if
applicable
Commentext TEXT NOT NULL The text content
of the student
comment
Timestamp DATETIME DEFAULT The time the
CURRENT- comment was
TIMESTAMP created
ParentComm INT FOREIGN KEY (Optional)Allows
e nested/reply
ntID comments
Status ENUM(‘active’,’de Default Status of
l eted’) the
‘active’
comment
Admin Video Uploading System-
Video Id Data Type Constraints Description
Video Id INT PRIMARY KEY, Unique
AUTO identifier
INCREMENT for each
video
25
Admin Id int Foreign key Refences
the
administra
tor who
upload the
video
Course ID VARCHAR(255) Not Null Title of the
video
Descriptio Text NULL Optional
n
description
of the
video
Video Url VARCHAR(2083) NOT NULL The url or
file path to
acces the
video
Thumbnail VARCHAR(O283) NULL Option al
url URL for the
videos
thumb nail
image
26
UploadDat DATETIME DEFAULTCURRE The date
and time
e NT-TIMESTAMP
the video
was
uploaded
Duration TIME NULL Duration of
the video
Visibility ENUM(‘PUBLIC’,PRIVATE’) DEFAULT public Visibility
setting for
the video
Status ENUM(‘active’,’archive’,del Default ‘active’ Status
eted’) of
the video
User Interface Design
Home page
27
28
29
TESTING
30
a.Organize Project involves creating a System Test Plan, Schedule & Test Approach, and assigning
responsibilities.
b.
Design/Build System Test involves identifying Test Cycles, Test Cases, Entrance & Exit Criteria,
Expected Results, etc. In general, test conditions/expected results will be identified by the Test
Team in conjunction with the Development Team. The Test Team will then identify Test Cases
and the Data required. The Test conditions are derived from the Program Specifications
Document.
a. c.
Design/Build Test Procedures includes setting up procedures such as Error Management
systems and Status reporting.
b. d.
Build Test Environment includes requesting/building hardware, software and data set-ups. c.
e.
Execute System Tests – The tests identified in the Design/Build Test Procedures will be
executed. All results will be documented and Bug Report Forms filled out and given to the
Development Team as necessary.
d. f.
Signoff - Signoff happens when all pre-defined exit criteria have been achieved. e.
f.
g. Testing Strategy
h.
i. The following outlines the types of testing that will be done for unit, integration, and system
testing. While it includes what will be tested, the specific use cases that determine how the
testing is done will be detailed in the Test Design Document. The test cases that will be used
for designing use cases is shown in Figure 2.1 and onwards.
j.
31
k. Test Cases
l.
Tested By: Piu Das.
Test Type Unit Testing
Test Case Number 1
Test Case Name User Identification
Test Case Description The user should enter his/ her accurate userid and password so that
he/she can able to go for the further options. The test case will check
the application for the same since a user can only login with the correct
userid , password.
Item(s) to be tested
1 Verification of the userid and password with the record in the database.
Specifications
Expected
Output/Result
Input
1) Correct User id and password 1) Successful login
2) Failure Message
2) Incorrect Id or Password
32
Tested By:
Test Type Unit Testing
Test Case Number 2
Test Case Name Submit Document
Test Case Description The User submit document. For document submission the must
login.
Item(s) to be tested
1 Check whether the user id logged in.
2 Check if the user has selected a document and the size of that is < 5 MB.
Specifications
Expected
Input Output/Result
1) Trying to submit document without logging 1) The user is redirected to the login page.
in. 2) A message asks the user to select a
2) Check whether document is selected. document.
3) Check whether the size of the document is 3) Return an error message.
< 5 MB.
33
Unit Testing
Unit Testing is done at the source or code level for language-specific programming errors such as bad
syntax, logic errors, or to test particular functions or code modules. The unit test cases shall be
designed to test the validity of the programs correctness.
White Box Testing
In white box testing, the UI is bypassed. Inputs and outputs are tested directly at the code level and
the results are compared against specifications. This form of testing ignores the function of the
program under test and will focus only on its code and the structure of that code. Test case designers
shall generate cases that not only cause each condition to take on all possible values at least once, but
that cause each such condition to be executed at least once. To ensure this happens, we will be
applying Branch Testing. Because the functionality of the program is relatively simple, this method will
be feasible to apply.
Each function of the binary tree repository is executed independently; therefore, a program flow for
each function has been derived from the code.
Black Box Testing
Black box testing typically involves running through every possible input to verify that it results in the
right outputs using the software as an end-user would. We have decided to perform Equivalence
Partitioning and Boundary Value Analysis testing on our application.
System Testing
The goals of system testing are to detect faults that can only be exposed by testing the entire integrated
system or some major part of it. Generally, system testing is mainly concerned with areas such as
performance, security, validation, load/stress, and configuration sensitivity. But in our case well focus
only on function validation and performance. And in both cases we will use the black-box method of
testing
34
19. System Security measures (Implementation of security for the project
developed)
• Only authorized users are allowed.
• Without signing in users are not allowed to go an intermediate page by typing an URL. For all
such efforts, users will be redirected to the home page.
20. Database/Data security
• Database is present in remote machine.
• Oracle’s default securities are applied.
21. Creation of User profiles and access rights
• The admin must create users manually
• The admin can create more admins
22. Cost Estimation of the Project along with Cost Estimation Model
Analogous estimate of effort or cost
Used for Early Estimate or Individual Activity Estimate
Sample example shown below is for two major deliverables of a software project. You use a previous
project as a benchmark for analogous estimation. Using your experience you will estimate a multiplier.
Multipliers:
1. Prototyping: 0.75.
2. Testing: 0.5
3. Deployment: 0.5
Finally, if you want to convert to cost, you would use current rates for the resource.
35
WBS Previous Previous Current Multiplier Effort Cost (Rs.
500/hr.)
ID
Similar Project Effort Project (Previous
Effort *
Activity Estimate
0.75)
1 Prototyping 40 Work- Prototyping 0.75 30 Rs. 15000/-
Workhours
Hours
2 Testing 20 Work- Testing 0.50 10 Work- Rs. 5000/-
Hours Hours
Total 40 Work- Rs. 20000/-
Hours
Note: Effort is also called Size and unit of estimation is called either Work-Hour, person-hours.
23. Future scope and further enhancement of the Project
ONLINE EDU has lot of enhancement options. In future documents may be classified category-wise. It
may try to analyze the user behavior and preferences and accordingly suggest document categories.
AI concepts be applied to make ONLINE EDU intelligent.
In future we will be able to upload any files other than pdf and it will be password encrypted. We will
be able to upload, download video tutorial.
36
24. Bibliography
1. Roger S. Pressman. Software Engineering: A Practioner's Approach (Sixth Edition, International
Edition). McGraw-Hill, 2005.
2. Ian Sommerville. Software Engineering (Seventh Edition). Addison-Wesley, 2004.
3. Frederick P. Brooks. The Mythical Man-Month: Essays on Software Engineering, Anniversary
Edition. Addison-Wesley Pub Co; 1st edition (August 2, 1995).
4. Introducing HTML5 by Bruce Lawson,Remy Sharp.
5. HTML5 for Web Designer by Jeremy Keith.
6. HTML for World Wide Web(Visual Quick Start Guide) by Elizabeth Castro.
7. HTML5 Up And Running by Mark Pilgrim.
8. The Definitive Guide To HTML5 by Adam Freeman.
9. Pro HTML5 Programing:Powerful APIs for RcherInternet Aplication Development by Peter
Lubbers.
10. Dynamic HTML:The Definitive Reference by Danny Godman.
11. CSS:Definitive Guide by Eric.A.Mayer.
12. CSS Cook Book by Christopher Schmitt.
13. CSS:Missing Manual by David Sawyer Mcfarland.
14. CSS Mastery:Advance Web Standard Sollution by Andy Budd, CameronMoll, Simon Collision.
15. CSS Anthology by Rachel Andrew.
16.Hancrafted CSS:More Bulletproof Web Design/Bulletproof Essentialsby Dan Caderholm,
EthanMarcotte.
17. Programing PHP by RasmusLardoff, KevinTatroe, PeterMacIntyre.
18. PHP Cook Book by Adam Trachtenberg, DavidSkalar.
19. Essential PHP Security by Chris Shifflett, NathanTorkington, Tatiana Diaz.
20. Professional PHP Programing by SaschaSchumann, HarishRawat, JesusCastagnetto.
21. PHP Object, Patterns, And Practice by Matt Zandstra.
22. Database System Concepts by Abraham Silverchatz, Henry. F. Korth, S.Sudarshan