- User registration and email verification
- User login with JWT and 2FA
- Get current user details
- Update user information
- Change password
- Manage profile pictures (upload and delete)
- Send password reset email
- Reset password via email
- Get all users (admin)
- Get user by ID (admin)
- Update user status (activate/deactivate) (admin)
- Delete user by ID (admin)
- Update user role (admin)
- Delete all non-admin users (admin)
- Delete inactive users (admin)
- Send notification emails to all users (admin)
- Export user data to Excel file (admin)
- Java
- Spring Boot
- Spring Security
- Spring Data JPA
- JWT (JSON Web Tokens)
- MySQL
- Google Authenticator for 2FA
- Maven
- Lombok