Skip to content

nkcoder/java-springboot

Repository files navigation

User Service - Java/Spring Boot

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.

springboot-oauth2-demo

Key Features

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

Documentation Hub

Quick Start

Prerequisites

  • Java 25 & Gradle 8+
  • PostgreSQL 17, Apache Kafka, or Docker

Running Locally

  1. Copy .env.example to .env and configure secrets (JWT, Mail, OAuth2).
  2. Start the service using the automation script:
./auto/run

HTTP: http://localhost:8080 | gRPC: localhost:9090

Running with Docker

To build and start the entire stack (Application + Database):

./auto/docker_start

Health Check

curl http://localhost:8080/health

License

MIT License

About

Java 25 project with SpringBoot 4, DDD pattern

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published