This repository contains the backend code for the Learning Management System (LMS). The backend is developed using Spring Boot, a powerful and flexible framework for building Java-based applications.
- Features
- Technologies Used
- Getting Started
- Running the Application
- API Endpoints
- Contributing
- License
- User authentication and authorization
- Course management (CRUD operations)
- Enrollment management
- Role-based access control (Admin, Instructor, Student)
- Email notifications
- Java: Programming language used to build the application
- Spring Boot: Framework for building the backend application
- Spring Security: For authentication and authorization
- Spring Data JPA: For database operations
- MySQL/PostgreSQL: Database to store data (you can specify the one you're using)
- Maven: Dependency management
- Hibernate: ORM for database interaction
- Swagger: API documentation
- JUnit: For testing
To get a local copy of the project up and running, follow these steps.
- Java JDK 11 or later: Make sure you have Java installed.
- Maven: Ensure Maven is installed to manage the project dependencies.
- MySQL/PostgreSQL: Set up your database server.
-
Clone the repository:
git clone https://github.com/RahulMajukar/LMS-BE.git cd LMS-BE -
Configure the database:
Update the
application.propertiesorapplication.ymlfile with your database configuration:spring.datasource.url=jdbc:mysql://localhost:3306/lms spring.datasource.username=your-username spring.datasource.password=your-password spring.jpa.hibernate.ddl-auto=update
-
Build the project:
mvn clean install
-
Run the application:
mvn spring-boot:run
-
Access the application:
The application will be running at
http://localhost:8080.
Here are some of the key API endpoints:
- User Registration/Login:
POST /api/auth/signup- Register a new userPOST /api/auth/login- Log in with credentials
- Courses:
GET /api/courses- Get all coursesPOST /api/courses- Create a new coursePUT /api/courses/{id}- Update a courseDELETE /api/courses/{id}- Delete a course
- Enrollments:
POST /api/enrollments- Enroll in a courseGET /api/enrollments- Get all enrollments
For detailed API documentation, you can access Swagger UI at http://localhost:8080/swagger-ui.html.
Contributions are welcome! Please fork the repository and create a pull request with your changes. For major changes, please open an issue first to discuss what you would like to change.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.