Smart Learning Management System (LMS) powered by Spring Boot - A comprehensive backend solution for managing educational institutions, courses, and user interactions. This repository implements secure authentication, role-based access control, and integrations with external services.
-
👥 User Management
- Secure user registration and authentication
- Profile management and updates
- Role-based access control
-
📚 Course Management
- Create, read, update, and delete courses
- Course enrollment and progress tracking
- Assignment and resource management
-
👨🏫 Faculty Management
- Faculty assignment to courses
- Teaching schedule management
- Performance tracking
-
💳 Payment Integration
- Secure payment processing
- Fee management
- Transaction history
-
📱 Notifications
- Real-time updates
- Email notifications
- SMS alerts (optional)
- Backend Framework: Java Spring Boot
- Security: Spring Security, JWT Authentication
- Database: MySQL
- ORM: Hibernate
- Build Tool: Maven
- Documentation: Swagger/OpenAPI
-
Prerequisites
- Java 11 or higher - MySQL 8.0 or higher - Maven 3.6+
-
Clone the repository
git clone https://github.com/Chathupachamika/ZONY_Campus-backend.git cd ZONY_Campus-backend -
Configure Database Create a new MySQL database and update
application.properties:spring.datasource.url=jdbc:mysql://localhost:3306/zony_campus spring.datasource.username=your_username spring.datasource.password=your_password
-
Build and Run
mvn clean install mvn spring-boot:run
- POST
/api/auth/register- Register new user - POST
/api/auth/login- User login - GET
/api/auth/profile- Get user profile
- GET
/api/courses- List all courses - POST
/api/courses- Create new course - GET
/api/courses/{id}- Get course details - PUT
/api/courses/{id}- Update course - DELETE
/api/courses/{id}- Delete course
- GET
/api/faculty- List all faculty members - POST
/api/faculty- Add new faculty - PUT
/api/faculty/{id}- Update faculty details
- POST
/api/payments/process- Process payment - GET
/api/payments/history- Get payment history
ZONY_Campus-backend/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/zony/campus/
│ │ │ ├── config/
│ │ │ ├── controller/
│ │ │ ├── model/
│ │ │ ├── repository/
│ │ │ ├── service/
│ │ │ └── util/
│ │ └── resources/
│ │ └── application.properties
│ └── test/
├── pom.xml
└── README.md
- Implements JWT-based authentication
- Role-based access control (RBAC)
- Password encryption using BCrypt
- Input validation and sanitization
- CORS configuration
- Rate limiting for API endpoints
-
Build the JAR file
mvn clean package
-
Run the application
java -jar target/zony-campus-backend.jar
Run the test suite:
mvn testAPI documentation is available at:
- Swagger UI:
http://localhost:8080/swagger-ui.html - API Docs:
http://localhost:8080/v3/api-docs
- Fork the repository
- 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.
Chathupa Chamika - [chathupachamika765@gmail.com]
Project Link: https://github.com/Chathupachamika/ZONY_Campus-backend
Made with ❤️ by the Chathupa Chamika