# motunrayo0129/tuntunauctionauthservice architecture

> Architecture diagram of the GitHub repository motunrayo0129/tuntunauctionauthservice, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/motunrayo0129/tuntunauctionauthservice
- Repository: https://github.com/motunrayo0129/tuntunauctionauthservice

## Overview

This Spring Boot auth service exposes registration and login endpoints. Registration validates credentials and role, checks for existing users, persists an unverified account, and best-effort publishes a registration event. Login delegates to its service; JWT utilities and a request filter support token-based authentication. README is empty, and login/security configuration implementations were not sampled, so their internal wiring is left unspecified.

Main entry points: [`src/main/java/com/TuntunAuction/auth_service/services/RegisterServiceImpl.java`](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/services/RegisterServiceImpl.java) (Registration logic), [`src/main/java/com/TuntunAuction/auth_service/securities/JwtAuthFilter.java`](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/securities/JwtAuthFilter.java) (JWT request filter), [`src/main/java/com/TuntunAuction/auth_service/controllers/RegisterController.java`](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/controllers/RegisterController.java) (Registration endpoint), [`src/main/java/com/TuntunAuction/auth_service/controllers/LoginController.java`](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/controllers/LoginController.java) (Login endpoint)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["HTTP API"]
  node_register_controller["Registration endpoint"]
  node_login_controller["Login endpoint"]
  node_exception_handler["Error mapping"]
end

subgraph group_identity["Identity workflows"]
  node_register_service["Registration logic"]
  node_login_service["Login logic"]
end

subgraph group_security["Token security"]
  node_jwt_filter["JWT request filter<br/>[JwtAuthFilter.java]"]
  node_jwt_service["JWT utilities<br/>[JwtService.java]"]
  node_user_details["User details service"]
end

subgraph group_integrations["Persistence and events"]
  node_user_repository["User repository"]
  node_user_store[("User database")]
  node_kafka_producer["Auth event producer"]
  node_kafka["Kafka broker"]
end

node_client(("API client"))

node_client -->|"submits registration"| node_register_controller
node_client -->|"submits credentials"| node_login_controller
node_register_controller -->|"invokes registration"| node_register_service
node_login_controller -->|"invokes login"| node_login_service
node_register_service -->|"checks and saves"| node_user_repository
node_user_repository -->|"reads and writes"| node_user_store
node_register_service -->|"publishes registration"| node_kafka_producer
node_kafka_producer -->|"sends events"| node_kafka
node_jwt_filter -->|"validates token"| node_jwt_service
node_jwt_filter -->|"loads account"| node_user_details

click node_register_controller "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/controllers/RegisterController.java"
click node_login_controller "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/controllers/LoginController.java"
click node_exception_handler "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/handlers/GlobalExceptionHandler.java"
click node_register_service "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/services/RegisterServiceImpl.java"
click node_login_service "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/services/LoginServiceImpl.java"
click node_user_repository "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/data/repositories/UserRepository.java"
click node_kafka_producer "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/services/KafkaProducerService.java"
click node_jwt_filter "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/securities/JwtAuthFilter.java"
click node_jwt_service "https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/securities/JwtService.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_register_controller,node_login_controller,node_exception_handler,node_client toneBlue
class node_register_service,node_login_service toneAmber
class node_jwt_filter,node_jwt_service,node_user_details toneMint
class node_user_repository,node_user_store,node_kafka_producer,node_kafka toneRose
```

## Components

### HTTP API

- [Registration endpoint](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/controllers/RegisterController.java): `src/main/java/com/TuntunAuction/auth_service/controllers/RegisterController.java`
- [Login endpoint](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/controllers/LoginController.java): `src/main/java/com/TuntunAuction/auth_service/controllers/LoginController.java`
- [Error mapping](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/handlers/GlobalExceptionHandler.java): `src/main/java/com/TuntunAuction/auth_service/handlers/GlobalExceptionHandler.java`

### Identity workflows

- [Registration logic](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/services/RegisterServiceImpl.java): `src/main/java/com/TuntunAuction/auth_service/services/RegisterServiceImpl.java`
- [Login logic](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/services/LoginServiceImpl.java): `src/main/java/com/TuntunAuction/auth_service/services/LoginServiceImpl.java`

### Token security

- [JWT request filter](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/securities/JwtAuthFilter.java): `src/main/java/com/TuntunAuction/auth_service/securities/JwtAuthFilter.java`
- [JWT utilities](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/securities/JwtService.java): `src/main/java/com/TuntunAuction/auth_service/securities/JwtService.java`
- **User details service**

### Persistence and events

- [User repository](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/data/repositories/UserRepository.java): `src/main/java/com/TuntunAuction/auth_service/data/repositories/UserRepository.java`
- **User database**
- [Auth event producer](https://github.com/motunrayo0129/tuntunauctionauthservice/blob/main/src/main/java/com/TuntunAuction/auth_service/services/KafkaProducerService.java): `src/main/java/com/TuntunAuction/auth_service/services/KafkaProducerService.java`
- **Kafka broker**

### Other components

- **API client**

## Connections

- API client → Registration endpoint: submits registration
- API client → Login endpoint: submits credentials
- Registration endpoint → Registration logic: invokes registration
- Login endpoint → Login logic: invokes login
- Registration logic → User repository: checks and saves
- User repository → User database: reads and writes
- Registration logic → Auth event producer: publishes registration
- Auth event producer → Kafka broker: sends events
- JWT request filter → JWT utilities: validates token
- JWT request filter → User details service: loads account
