This repository contains both the legacy monolithic application and its modernized microservices architecture.
This project demonstrates the modernization of a legacy Spring Boot monolithic application (Sakila REST API) into a cloud-native microservices architecture using Kiro AI assistance.
Contains the original monolithic Spring Boot application. This legacy codebase has been preserved for reference and comparison purposes. The monolithic application includes:
- Complete REST API for the Sakila database
- JWT authentication
- Redis caching
- Spring Data JPA with QueryDSL
- HAL/HATEOAS support
Contains the modernized microservices architecture:
- API Gateway - Entry point and routing
- Auth Service - Authentication and authorization
- Catalog Service - Film and inventory management
- Customer Service - Customer management
- Location Service - Address, city, and country data
- Payment Service - Payment processing
- Rental Service - Rental transactions
- Store Service - Store and staff management
- Infrastructure - Shared infrastructure configs
See sakila-microservices/README.md for detailed documentation.
- Break down the monolith into domain-driven microservices
- Implement modern cloud-native patterns
- Improve scalability and maintainability
- Enable independent service deployment
- Adopt containerization and orchestration
- Implement observability and monitoring
Project documentation and analysis:
- Initial Assessment - Analysis of the legacy codebase
- DDD Assessment - Domain-driven design evaluation
- Prompts - AI prompts and guidance used in modernization
See archives/README.md for instructions on running the original monolithic application.
See sakila-microservices/README.md for instructions on running the microservices architecture.
This modernization project is based on the original monolithic application:
- spring-rest-sakila by codejsha
This modernization project is being developed with assistance from Kiro AI.