A complete backend project for managing college operations including students, faculty, courses, attendance, marks, and fee management with secure authentication using JWT.
- Java 17
- Spring Boot 3+
- Spring Security (JWT)
- Spring Data JPA / Hibernate
- PostgreSQL (Neon Cloud DB)
- Maven
- Lombok
- JavaMailSender
- JUnit 5 + Mockito
- Swagger / OpenAPI
- Student registration and login
- JWT authentication
- View profile
- Update profile
- Forgot & reset password via email
- Change password
- Faculty registration and login
- Role-based access control
- Admin registration and login
- Role-based authorization
- JWT-based authentication
- Role-based access (STUDENT, FACULTY, ADMIN)
- BCrypt password encryption
- Email notification system
- Stateless REST API architecture
- id
- name
- phone
- passwordHash
- branch
- semester
- enrollmentYear
- address
- city
- pincode
- id
- name
- phone
- passwordHash
- department
- designation
- id
- name
- phone
- passwordHash
- role
- id
- token
- expiryDate
- JWT authentication filter
- Stateless session management
- Role-based authorization
- BCrypt password hashing
- Protected endpoints using Spring Security
- Method-level security using @PreAuthorize
POST /api/auth/student/register
POST /api/auth/student/login
POST /api/auth/faculty/register
POST /api/auth/faculty/login
POST /api/auth/admin/register
POST /api/auth/admin/login
POST /api/auth/forgot-password
POST /api/auth/reset-password
POST /api/auth/change-password
GET /api/student/profile
PUT /api/student/profile
git clone https://github.com/asharxh/college-management-system.git
cd college-management-system
DB_URL=your_database_url
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
JWT_SECRET=your_secret_key
EMAIL_USERNAME=your_email
EMAIL_PASSWORD=your_app_password
mvn clean install
mvn spring-boot:run
- JUnit 5 for unit testing
- Mockito for mocking dependencies
- MockMvc for controller testing
mvn test
- AuthService (login, register, reset password)
- EmailService
- Controller layer APIs
POST /api/auth/student/register
POST /api/auth/student/login
Copy JWT token from response
GET /api/student/profile
Header: Authorization: Bearer <JWT_TOKEN>
POST /api/auth/forgot-password
POST /api/auth/reset-password
https://college-management-system-r3wj.onrender.com
Neon PostgreSQL (Cloud Hosted)
- Attendance management system
- Course & subject module
- File upload system (assignments/notes)
- Full Notifications system
- Analytics dashboard
- Mobile app integration
- Name: Ashar Arif
- Project: College Management System
- https://www.linkedin.com/in/ashararif/