Background:
This application consists of five modules:
- Authenticator service: For issuing JWT token and refresh it after timeout
- Rental Processor: Required rental APIs
- Rental Search: Required search APIs
- Service Registry: For service discovery
- API Gateway: For service path
The authenticator service generates a JWT token with refresh token and expiration time which is saved in database. Every other micro-service (rental processor/search) is secured and requires this JWT token to accept request.
The Booking api calls rental processor from rental search and it is concurrency enabled. All api has been implemented as required.
Technology:
- Spring Boot
- Eureka Client/Server
- PostgreSQL
Database Schema: