Store Management system within a microservices architecture produced in an agile workflow environment.
- Java 8
- Spring Frameworks, Dependencies & Spring Boot
- MySQL
- Maven
The design incorporates many elements of a modern cloud-native architecture including:
- Configuration Server
- Service Registry
- Queues
- Circuit Breaker
- Caching
- Micoservices
- Backend for Frontend (BFF) edge services
This service runs on port 9999.
This service runs on port 8761.
All services in the system must use the Configuration Server for all of their configuration files.
All backing services registerd with the Service Registry through Netflix Eureka.
Communication to backing services from the Retail API and Admin API web services done using Open Feign clients in a Service Layer component.
Primary Database used with MYSQL, written with JDBC.
Spring Caching support with caches done in the Backend services.
Circuit Breakers set for fallback measures with Netflix Hystrix.
- Implemented ControllerAdvice to handle exceptions and return propery HTTP status codes and data when exception occur. This includes handling all violoations of business rules.
- Uses JSR 303 validation.
Your REST APIs must be documented with Swagger. YAML file