A robust, secure, and scalable University Management System built using Java + Spring Boot, designed with a microservices architecture. This system manages core university operations like departments, courses, professors, students, and user authentication.
- Java 17
- Spring Boot (Microservices)
- Spring Security
- Spring Cloud
- REST APIs
- JWT-based Authentication
- Authentication Service
- Handles user login, registration, and role-based JWT authentication
- Department Service
- Course Service
- Professor Service
- Student Service
- Enrollment Service
Each service is independently deployable, communicates via REST, and is structured for future scaling.
- Fully working JWT-based Authentication
- Role-based access for:
- President
- Vice President
- Department Admins
- Professors
- Students
- Token validation middleware to secure service-to-service communication
- 📁 Create & manage university departments
- 📚 Add and assign courses to departments and professors
- 👨🏫 Add professors and manage their teaching load
- 🎓 Enroll students into course sections
- 🔐 Secure access control using microservice-aware JWT authentication
- Microservices for modularity and scalability
- Clean separation of concerns using:
- Controller → Service → Repository layers
- Secure inter-service communication
- Scalable and extensible structure for real-world deployment
├── 📁 controller # Handles API endpoints (REST controllers) ├── 📁 service # Contains business logic and service classes ├── 📁 entity # Entity and domain models ├── 📁 repository # Spring Data JPA repositories ├── 📁 config # Security, beans, and service configurations ├── 📁 exception # Custom exceptions and global handlers ├── 📁 dto # Data Transfer Objects ├── 📁 util # Utility/helper classes └── 📄 application.properties
Each microservice can be run independently:
cd AuthService
./mvnw spring-boot:run
cd DepartmentService
./mvnw spring-boot:run
# Repeat for other services