Skip to content

LearnSphere is a Java-based LMS using Servlets, JSP, JDBC, and MVC. Students can browse and enroll in courses, while instructors create and manage them. Built with Core Java, Jakarta Servlets, MySQL, and DAO/Service layers. Includes authentication, enrollment, Bootstrap UI, UML, and DB schema.

Notifications You must be signed in to change notification settings

prashantkumarniraj/Learning-Management-System-LMS-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š LearnSphere – Java Web-Based Learning Management System (LMS)

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.


πŸš€ Project Overview

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

πŸ› οΈ Tech Stack

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

✨ Features

πŸ‘€ User Management

  • User registration
  • Role selection (Student / Instructor)
  • Login with secure password hashing (SHA-256)
  • Logout & session management

πŸŽ“ Course Management

  • Instructor-only course creation
  • Course browsing
  • Course detail page
  • Search courses by title

πŸ“ Enrollment System

  • Students can enroll in courses
  • Enrollment stored in the database
  • Progress tracking field included

πŸ—‚οΈ Clean Architecture

  • DAO Interfaces + Implementations
  • Services as business logic layer
  • Filters for authentication
  • Listener for app initialization

πŸ“ Folder Structure

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

πŸ› οΈ How to Run the Project

1️⃣ Setup Database

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/

About

LearnSphere is a Java-based LMS using Servlets, JSP, JDBC, and MVC. Students can browse and enroll in courses, while instructors create and manage them. Built with Core Java, Jakarta Servlets, MySQL, and DAO/Service layers. Includes authentication, enrollment, Bootstrap UI, UML, and DB schema.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages