How maousekai/vmarket works
VMarket is a multi-vendor commerce platform built from independently owned microservices, with a web frontend, an API gateway, and AI capabilities. A representative user journey is to browse products, manage a cart, place an order, pay, and receive delivery; account, shop, and product management support that journey. Services own separate databases and communicate through REST and RabbitMQ events. The excerpts show several internal service behaviors, but not most service-to-service wiring, so those specific workflow links are marked unverified rather than asserted as fact.
Main entry points: gateway API Gateway · order Orders · delivery Delivery and tracking · payment Payments
Components 20
Client
- Web frontend
frontend/src - Mobile client
API Edge
- API Gateway
services/api-gateway/src/main/java/com/vmarket/gateway
Commerce Services
- Authentication
services/auth-service/src/main/java/com/vmarket/auth - User profiles
services/user-service/src/main/java/com/vmarket/user - Shops
services/shop-service/src/main/java/com/vmarket/shop - Products and inventory
services/product-service/src/main/java/com/vmarket/product - Shopping cart
services/cart-service/src/main/java/com/vmarket/cart - Product reviews
services/review-service/src/main/java/com/vmarket/review - Notifications
services/notification-service/src/main/java/com/vmarket/notification
Order Fulfillment
- Orders
services/order-service/src/main/java/com/vmarket/order - Payments
services/payment-service/src/main/java/com/vmarket/payment - Delivery and tracking
services/delivery-service/src/main/java/com/vmarket/delivery
AI Services
- AI search
services/ai-search-service - Recommendations
services/recommendation-service - RAG chatbot
services/chatbot-service
Service Messaging
- RabbitMQ
- Service databases
Other components
- Buyer
- PayOS
Connections 36
- Buyer → Web frontend: uses
README.md - Web frontend → API Gateway: sends requests
README.md - Mobile client → API Gateway: sends requests
README.md - API Gateway → Authentication: routes requests
README.md - API Gateway → User profiles: routes requests
README.md - API Gateway → Shops: routes requests
README.md - API Gateway → Products and inventory: routes requests
README.md - API Gateway → Shopping cart: routes requests
README.md - API Gateway → Orders: routes requests
README.md - API Gateway → Payments: routes requests
README.md - API Gateway → Delivery and tracking: routes requests
README.md - API Gateway → Product reviews: routes requests
README.md - API Gateway → Notifications: routes requests
README.md - API Gateway → AI search: routes requests
README.md - API Gateway → Recommendations: routes requests
README.md - API Gateway → RAG chatbot: routes requests
README.md - Orders → Shopping cart: reads cart
services/order-service/src/main/java/com/vmarket/order/service/OrderService.java - Orders → User profiles: checks address
services/order-service/src/main/java/com/vmarket/order/service/OrderService.java - Orders → Payments: coordinates payment
README.md - Payments → PayOS: creates payment link
services/payment-service/src/main/java/com/vmarket/payment/service/PaymentService.java - Orders → Delivery and tracking: coordinates delivery
README.md - Delivery and tracking → Orders: checks order
services/delivery-service/src/main/java/com/vmarket/delivery/service/DeliveryService.java - Orders → RabbitMQ: publishes events
README.md - Products and inventory → RabbitMQ: publishes events
README.md - Delivery and tracking → RabbitMQ: publishes events
README.md - RabbitMQ → Notifications: delivers events
README.md - Service databases → Authentication: stores service data
README.md - Service databases → User profiles: stores service data
README.md - Service databases → Shops: stores service data
README.md - Service databases → Products and inventory: stores service data
README.md - Service databases → Shopping cart: stores service data
README.md - Service databases → Orders: stores service data
README.md - Service databases → Payments: stores service data
README.md - Service databases → Delivery and tracking: stores service data
README.md - Service databases → Product reviews: stores service data
README.md - Service databases → Notifications: stores service data
README.md