This is a full-stack login and registration system built using Spring Boot (Java) for the backend and React.js for the frontend. It includes authentication via JWT, role-based access control (User/Admin), secure password storage, and password history tracking.
- π JWT-Based Authentication: Protects secure endpoints using JSON Web Tokens.
- π₯ Role-Based Access Control: Users can register as either
ROLE_USERorROLE_ADMIN. - π Password Policy Enforcement:
- Must contain at least one digit.
- Must contain at least one uppercase letter.
- π Password History Tracking:
- The last 3 passwords are stored to prevent reuse.
- β° Time Slot Configuration:
- Admins can define configurable values like time limits.
- π« Change Password on First Login:
- Users can be flagged to change passwords upon their first login.
- Java 17
- Spring Boot
- Spring Security
- JPA / Hibernate
- H2 / MySQL (configurable)
- JWT for secure authentication
- React.js
- Axios for HTTP calls
- React Router for navigation
- Java 17+
- Node.js 16+
- Maven
cd backend
mvn clean install
mvn spring-boot:run