https://github.com/goutamthakur/flight-auth-service
Java Spring Boot backend service for handling user authentication and management
https://github.com/goutamthakur/flight-auth-service
authentication backend java jwt restful-api spring-boot
Last synced: about 1 month ago
JSON representation
Java Spring Boot backend service for handling user authentication and management
- Host: GitHub
- URL: https://github.com/goutamthakur/flight-auth-service
- Owner: goutamthakur
- Created: 2025-09-13T18:04:18.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-22T18:21:29.000Z (9 months ago)
- Last Synced: 2025-09-22T20:30:02.406Z (9 months ago)
- Topics: authentication, backend, java, jwt, restful-api, spring-boot
- Language: Java
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Flight Auth Service
The goal of this service is to handle user authentication and authorization using email and password, along with token management.
## Domain Driven Design
- The service follows a clean architecture inspired by the Hexagonal (Ports and Adapters) design pattern.
- Honestly, there wasn’t a strong need to use full-blown DDD here — I just wanted to experiment with it after reading a blog post about DDD.
- I’m not entirely sure if I’ve implemented everything perfectly, so any feedback or suggestions for improvement are very welcome.
## Folder Structure
- `api` contains the controllers and DTOs. This is the outermost layer where external clients interact with the application.
- `application` contains all the service classes. It holds the core business logic, independent of outer concerns like DTOs or inner concerns like the database or repositories.
- `domain` defines the interfaces (ports) that are implemented by the infrastructure layer.
- `infrastructure` has main repository and database implementation.
- `common` contains shared components such as common response models and global exception handling.
## Setup Instructions
All configurations are defined in the `application.properties` file. To override any settings, create a new profile file named `application-development.properties` and add your datasource or any other custom configurations there.