How manivannanbgi007/grocery-app works
Grocery Platform is a multi-vendor marketplace spanning customer, vendor, delivery, admin, and super-admin panels. A customer-facing flow runs from the Fresh Grocery storefront through the gateway and account services to catalog discovery, cart checkout, orders, payment, and delivery; notifications and reporting provide supporting capabilities. The repository also documents catalog CQRS, event-driven service integration, and an AI assistant with confirmation-gated shopping actions. Most service internals were not sampled, so cross-service links below reflect README-level architecture rather than inspected call sites.
Main entry points: ApiGatewayApplication.java API Gateway · OrderSagaService.java Orders and Saga · routes.tsx Fresh Grocery · ConversationService.java Assistant Conversation
Components 23
Panels and Gateway
- Fresh Grocery
fresh-grocery/src/routes.tsx - API Gateway
api-gateway/src/main/java/com/grocery/gateway/ApiGatewayApplication.java
Catalog and Commerce
- Product Management
product-service/src/main/java/com/grocery/product/entity/Product.java - Catalog Search
product-read-service/src/main/java/com/grocery/productread/service/ProductQueryService.java - Store Services
store-service/src/main/java/com/grocery/store/service/StoreQueryService.java - Inventory
inventory-service/src/main/java/com/grocery/inventory/service/InventoryQueryService.java - Cart and Coupons
cart-service/src/main/java/com/grocery/cart/service/CheckoutService.java - Orders and Saga
order-service/src/main/java/com/grocery/order/service/OrderSagaService.java - Payments
payment-service/src/main/java/com/grocery/payment/service/RazorpayPaymentService.java
Fulfillment and Engagement
- Delivery
delivery-service/src/main/java/com/grocery/delivery/assignment/DeliveryAssignmentService.java - Notifications
notification-service/src/main/java/com/grocery/notification/service/EventNotificationService.java
Platform Services
- Authentication
auth-service/src/main/java/com/grocery/auth/service/AuthService.java - Reports
report-service/src/main/java/com/grocery/report/service/impl/ReportQueryServiceImpl.java - Platform Administration
platform-service/src/main/java/com/grocery/platform/service/AuditLogService.java - Kafka Events
- Elasticsearch
AI Assistant
- Assistant API
mcp-client-service/src/main/java/com/grocery/mcpclient/controller/ChatController.java - Assistant Conversation
mcp-client-service/src/main/java/com/grocery/mcpclient/service/ConversationService.java - Action Approval
mcp-client-service/src/main/java/com/grocery/mcpclient/service/ApprovalService.java - MCP Tools
mcp-server-service
Other components
- Customer
- Razorpay
- Ollama
Connections 25
- Customer → Fresh Grocery: browses and orders
README.md - Fresh Grocery → API Gateway: sends API requests
README.md - API Gateway → Authentication: routes requests
README.md - API Gateway → Catalog Search: routes requests
README.md - API Gateway → Cart and Coupons: routes requests
README.md - API Gateway → Orders and Saga: routes requests
README.md - API Gateway → Payments: routes requests
README.md - API Gateway → Delivery: routes requests
README.md - Product Management → Kafka Events: publishes changes
README.md - Kafka Events → Catalog Search: feeds catalog projection
README.md - Catalog Search → Elasticsearch: queries catalog
product-read-service/src/main/java/com/grocery/productread/service/ProductQueryService.java - Cart and Coupons → Orders and Saga: starts checkout
- Orders and Saga → Payments: coordinates saga
README.md - Orders and Saga → Delivery: initiates fulfillment
- Kafka Events → Notifications: delivers events
README.md - Kafka Events → Reports: feeds projections
- API Gateway → Assistant API: routes chat requests
- Fresh Grocery → Assistant API: offers shopping chat
README.md - Assistant API → Assistant Conversation: handles conversation
- Assistant Conversation → MCP Tools: invokes tools
README.md - MCP Tools → Ollama: uses language model
README.md - Assistant Conversation → Action Approval: prepares actions
README.md - Action Approval → Cart and Coupons: confirms cart changes
- Action Approval → Orders and Saga: confirms order actions
- Payments → Razorpay: uses checkout and webhooks
README.md