LearnSphere is a web-based Learning Management System inspired by platforms like Udemy.
It is built using Core Java, JSP/Servlets, JDBC, and MySQL, following the MVC architecture.
This project is designed as part of a Java Web Project and meets all requirements of the academic marking rubric.
LearnSphere allows:
- Students to browse and enroll in online courses
- Instructors to create and manage courses
- Users to register, log in, and manage their profiles
- Admins to monitor the platform (basic dashboard)
The design demonstrates clean separation of concerns with:
- DAO (Data Access Object) Pattern
- Service Layer
- Servlet Controllers
- JSP Views
- JDBC Integration
| Layer | Technology |
|---|---|
| Programming Language | Java (JDK 11+) |
| Web Framework | Jakarta Servlets + JSP |
| Database | MySQL + JDBC |
| Build Tool | Maven (WAR packaging) |
| Server | Apache Tomcat (9/10) |
| UI Styling | Bootstrap 5 |
| Architecture | MVC + DAO + Service Layer |
- User registration
- Role selection (Student / Instructor)
- Login with secure password hashing (SHA-256)
- Logout & session management
- Instructor-only course creation
- Course browsing
- Course detail page
- Search courses by title
- Students can enroll in courses
- Enrollment stored in the database
- Progress tracking field included
- DAO Interfaces + Implementations
- Services as business logic layer
- Filters for authentication
- Listener for app initialization
LearnSphere/ βββ pom.xml βββ README.md βββ sql/ β βββ schema.sql βββ docs/ β βββ Architecture.md β βββ UML_ClassDiagram.svg β βββ UML_UseCaseDiagram.svg β βββ ERD.svg βββ src/main/java/com/learnsphere/ β βββ model/ # POJOs (User, Instructor, Student, Course, Enrollment) β βββ dao/ # DAO Interfaces + JDBC Implementations β βββ service/ # Business logic layer β βββ servlet/ # AuthServlet, CourseServlet, EnrollmentServlet β βββ filter/ # Authentication filter β βββ listener/ # Application startup listener β βββ util/ # DBUtil + PasswordUtil βββ src/main/webapp/ βββ index.jsp βββ error.jsp βββ auth/ # Login + Register JSPs βββ courses/ # List, View, Create βββ admin/ # Dashboard
CREATE DATABASE learnsphere;
USE learnsphere;
then run
sql/schema.sql
2-Configure Database Credentials
src/main/resources/application.properties
3-Build the Project
mvn clean package
4-Deploy on Tomcat
Copy the generated file:
target/learnsphere.war β Tomcat/webapps/
5οΈβ£ Open in Browser
http://localhost:8080/learnsphere/