How roshan21p/fakecommercespring works
This repository appears to be a Spring-based commerce API for managing categories, products, orders, and reviews. The principal workflow is an HTTP request routed to a resource controller, handled by its service, and persisted through repositories; product caching is a separate supporting path. The tree and dependencies also indicate database migrations and telemetry integrations. Source excerpts were not provided beyond the build file, so links reflect the module structure and declared dependencies rather than verified method-level calls.
Main entry points: ProductService.java Product service · CategoryController.java Category API · ProductController.java Product API · OrderController.java Order API
Components 24
HTTP API
- Category API
src/main/java/com/example/FakeCommerce/controllers/CategoryController.java - Product API
src/main/java/com/example/FakeCommerce/controllers/ProductController.java - Order API
src/main/java/com/example/FakeCommerce/controllers/OrderController.java - Review API
src/main/java/com/example/FakeCommerce/controllers/ReviewController.java - Spring application
src/main/java/com/example/FakeCommerce/FakeCommerceApplication.java
Commerce services
- Category service
src/main/java/com/example/FakeCommerce/services/CategoryService.java - Product service
src/main/java/com/example/FakeCommerce/services/ProductService.java - Order service
src/main/java/com/example/FakeCommerce/services/OrderService.java - Review service
src/main/java/com/example/FakeCommerce/services/ReviewService.java - Response adapters
src/main/java/com/example/FakeCommerce/adapters
Persistence and cache
- Category repository
src/main/java/com/example/FakeCommerce/repositories/CategoryRepository.java - Product repository
src/main/java/com/example/FakeCommerce/repositories/ProductRepository.java - Order repositories
src/main/java/com/example/FakeCommerce/repositories - Review repository
src/main/java/com/example/FakeCommerce/repositories/ReviewRepository.java - Commerce entities
src/main/java/com/example/FakeCommerce/schema - Schema migrations
src/main/resources/db/migration - Product cache
src/main/java/com/example/FakeCommerce/services/cache/ProductRedisCache.java
Observability
- Telemetry setup
src/main/java/com/example/FakeCommerce/config/OpenTelemetryAppenderInitializer.java - Logging config
src/main/resources/logback-spring.xml
Other components
- API client
- MySQL database
- Redis
- Logstash pipeline
logstash/pipeline/logstash.conf - Metrics and tracing
Connections 21
- API client → Category API: sends requests
- API client → Product API: sends requests
- API client → Order API: sends requests
- API client → Review API: sends requests
- Category API → Category service: delegates
- Product API → Product service: delegates
- Order API → Order service: delegates
- Review API → Review service: delegates
- Category service → Category repository: uses
- Product service → Product repository: uses
- Order service → Order repositories: uses
- Review service → Review repository: uses
- Category repository → MySQL database: persists data
- Product repository → MySQL database: persists data
- Order repositories → MySQL database: persists data
- Review repository → MySQL database: persists data
- Schema migrations → MySQL database: defines schema
- Product service → Product cache: uses cache
- Product cache → Redis: reads and writes
- Telemetry setup → Metrics and tracing: exports signals
- Logging config → Logstash pipeline: routes logs