A comprehensive user authentication and management service featuring OAuth2, OTP, and JWT-based security. Built with Java 25 and Spring Boot 4, architected as a modular monolith using Spring Modulith.
| Category | Features |
|---|---|
| Authentication | Registration, Login, Token-based (JWT) with rotation & families |
| Social Login | OAuth2 integration (Google, GitHub) with account linking |
| Passwordless | One-Time Password (OTP) login flow via email |
| Governance | Role-based access control (MEMBER, ADMIN), profile management |
| Architecture | Modular Monolith (Spring Modulith), DDD, Event-driven communication |
| Messaging | Apache Kafka for event externalization (Spring Modulith integration) |
| Performance | Java 25 Virtual Threads, gRPC for high-speed communication |
- API Guide - Detailed REST and gRPC endpoints, OTP flow, and Swagger access.
- Architecture & Design - Modular design, security strategy, and technical decisions.
- Development Guide - Build, run, test (JUnit 5, Testcontainers), and code quality using
./auto/scripts. - Configuration Reference - Environment variables and application profiles.
- Database/DDD Plan - Database schema and domain-driven design roadmap.
- Troubleshooting - Known issues and solutions.
- Java 25 & Gradle 8+
- PostgreSQL 17, Apache Kafka, or Docker
- Copy
.env.exampleto.envand configure secrets (JWT, Mail, OAuth2). - Start the service using the automation script:
./auto/runHTTP: http://localhost:8080 | gRPC: localhost:9090
To build and start the entire stack (Application + Database):
./auto/docker_startcurl http://localhost:8080/healthMIT License
