- Architectural Decision Records ADR
- High level design view [High level design](docs/High Level design)
- Low level design view High level design
Note: Class diagram is not updated. Might have some outdated information.
- Theatre service Description: created to render theatre and linked shows.
- getShowsByTheatre
- createShows
- deleteShow
- updateShow
visit ShowsController
- API first approach with OpenAPI 3.0 visit openapi specifications
- JPA auditing with AuditAware
- Central Logging configuration
- Global exception handler
- Logging filter to log request and responses
- Env based configuration enabled
- common configuration in separate file
- API specification in specification project separately to handle clients,api generationspecifications
- Flyway enabled to support database migrations
- shared libraries are separate to enable common code to be shared accross services. visit shared libraries
- Bill of materials for service and spec bom
- ArchUnit support to ensure developers follow good code practices archunit
- Common error library to support all common errors common error library
- Added few unit test cases.
- Theatre service
- Booking service
- Payment integration service
- User service
Postman collection can be found at Postman collection
- create database in postgres instance with name
customerdb
. - Update application-local yaml file to point to your database configuration.
datasource:
url: jdbc:postgresql://localhost:5432/customerdb
username: postgres
password: postgres
- do
mvn clean install
in the root project level. - Change to main application dir
cd bookmy/services/theatre/theatre-service/src/main/java
- Run
mvn spring-boot:run