This is a personal project developed to demonstrate MVC (Model–View–Controller) architecture integrated with microservices-based design.
The application communicates with four independent microservices:
User Service – Manages user accounts and authentication.
Product Service – Handles product information and catalog.
Manufacturer Service – Maintains manufacturer details.
Order Quantity Service – Manages orders and quantities.
Technologies:
Java / Spring MVC, Spring Boot, Junit, Mokito unit tests, SonarQube, Jacoco, Actuator, Grafana, jMeter, VisualVM
AWS EC2, ECR, ECS, EKS, Load balancer, Lambda.
MySQL, MongoDB, Redis Caching
MySQL, MongoDB
Apache Kafka not deployed due to budget concern. Need to pay more money for EC2 instance. Project was implement and moved into github repository as enterprise-products.git.
Use the Eclipse and VS Code IDE. Integrated GitHub Copilot.
Implemented JWT token for authentication and authorization. JWT token to communicate between the microservices. Like MVC to microservice and microservice to microservice.
Implemented server-side pagination for the manufacturer and product search feature. Integrated query parameters (page, size, sort) with microservice REST API calls.
User Roles: The system supports three main roles:
Admin – Full access to manage users, products, manufacturers and orders.
User – Can browse products, manufacturers and place orders.