A Spring Boot microservice for user management that handles registration, email verification, password reset, password changes, and token expiration.
Built with PostgreSQL, Spring Security, Java Mail Sender, and Dockerized for production-ready deployment.
- User Registration with email verification
- Resend Verification Token for unverified users
- Password Reset using secure tokens
- Token Auto-Expiration/Deleted (2 minutes for reset/verification tokens)
- Spring Security integration (
/user/**endpoints publicly accessible) - Java Mail integration for sending emails
- Password Encoding for secure user credentials
- Docker support (multi-stage build & run)
- Spring Boot
- Spring Security
- Spring Data JPA
- Java Mail Sender
- PostgreSQL
- Docker & Docker Compose
- Postman for API testing
- Java 21
- Maven
- Docker and Docker Compose(for host.docker.env)
- PostgreSQL database running
| Method | Endpoint | Description |
|---|---|---|
| POST | /user/register | Register a new user |
| GET | /user/verifyRegistration | Verify user via token |
| POST | /user/resendVerifyToken | Resend verification token |
| POST | /user/resetPassword | Initiate password reset |
| POST | /user/savePassword | Save new password |
| POST | /user/changePassword | Change current password |
| GET/PUT/DELETE | /user/{id} | Retrieve, update, or delete a user |
Inside your project root folder, run:
docker build -t repository/user-service:0.0.1 .









