Skip to content

vaishnav91/learning-management-system-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Learning Management System (LMS)

Overview

This is a full-stack Learning Management System (LMS) designed to manage courses, modules, and lessons in a structured manner. The project demonstrates backend development using Spring Boot with RESTful APIs and follows clean architecture and best practices suitable for production-ready applications.

This project was built to strengthen real-world backend development skills and to showcase practical experience with Java, Spring Boot, and database integration.


Tech Stack

Backend

  • Java
  • Spring Boot
  • Spring Data JPA (Hibernate)
  • REST APIs
  • Maven

Database

  • MySQL (can be replaced with PostgreSQL)

Tools & Utilities

  • Git & GitHub
  • Postman (API testing)

Core Features

  • Course management (create, view, update courses)
  • Module management under courses
  • Lesson management under modules
  • RESTful API design
  • Layered architecture (Controller, Service, Repository)
  • Exception handling and validation
  • Clean and readable code structure

Project Structure

src/main/java
└── com.example.lms
    ├── controller
    ├── service
    ├── repository
    └── entity

How to Run the Project Locally

Prerequisites

  • Java 17 or above
  • Maven
  • MySQL
  • Git

Steps

  1. Clone the repository
git clone https://github.com/<your-username>/learning-management-system.git
  1. Configure the database
Update application.properties with your database details:

spring.datasource.url=jdbc:mysql://localhost:3306/lms_db
spring.datasource.username=your_username
spring.datasource.password=your_password
  1. Build and run the project
mvn clean install
mvn spring-boot:run
  1. The application will start on:
http://localhost:8080 

Sample API Endpoints

  • POST /api/courses
  • GET /api/courses
  • POST /api/courses/{courseId}/modules
  • POST /api/modules/{moduleId}/lessons

Future Enhancements

  1. User authentication and authorization (JWT, Spring Security)

  2. Role-based access (Admin / Instructor / Student)

  3. Frontend integration using React

  4. Dockerization

  5. Deployment to cloud (AWS / Render)

About

This is a full-stack Learning Management System (LMS) designed to manage courses, modules, and lessons in a structured manner. The project demonstrates backend development using Spring Boot with RESTful APIs and follows clean architecture and best practices suitable for production-ready applications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors