How manogna-maggidi/ecommerce-multivendor works
Govind Store is a Spring Boot multivendor-commerce API for customers, sellers, and administrators. The customer journey runs from OTP/JWT access through catalog and cart to order creation, external payment, and post-payment transaction/report updates; separate seller and admin capabilities manage listings, operations, approvals, coupons, and homepage content. Sampled code confirms the review persistence path, authentication/email interactions, and checkout/payment callbacks. Other feature links reflect README descriptions and the source tree; unsampled service internals are represented at their enclosing directory level.
Main entry points: PaymentController.java Payment callback · OrderController.java Order API · AuthServiceImpl.java Auth service · ReviewController.java Review API
Components 31
Identity
- Auth API
src/main/java/com/govind/ecommerce/controller/AuthController.java - Auth service
src/main/java/com/govind/ecommerce/service/impl/AuthServiceImpl.java - JWT security
src/main/java/com/govind/ecommerce/config/JwtProvider.java - User service
src/main/java/com/govind/ecommerce/service - OTP storage
src/main/java/com/govind/ecommerce/repository/VerificationCodeRepository.java - Email service
src/main/java/com/govind/ecommerce/service/EmailService.java
Shopping
- Catalog APIs
src/main/java/com/govind/ecommerce/controller/ProductController.java - Product service
src/main/java/com/govind/ecommerce/service - Cart APIs
src/main/java/com/govind/ecommerce/controller/CartController.java - Cart service
src/main/java/com/govind/ecommerce/service - Review API
src/main/java/com/govind/ecommerce/controller/ReviewController.java - Review service
src/main/java/com/govind/ecommerce/service/impl/ReviewServiceImpl.java - Review repository
src/main/java/com/govind/ecommerce/repository/ReviewRepository.java
Payments
- Order API
src/main/java/com/govind/ecommerce/controller/OrderController.java - Order service
src/main/java/com/govind/ecommerce/service - Payment service
src/main/java/com/govind/ecommerce/service - Payment callback
src/main/java/com/govind/ecommerce/controller/PaymentController.java - Payment order store
src/main/java/com/govind/ecommerce/repository/PaymentOrderRepository.java - Transactions
src/main/java/com/govind/ecommerce/service
Store Operations
- Seller APIs
src/main/java/com/govind/ecommerce/controller/SellerController.java - Seller service
src/main/java/com/govind/ecommerce/service - Seller reports
src/main/java/com/govind/ecommerce/service - Admin APIs
src/main/java/com/govind/ecommerce/controller/AdminController.java - Coupon APIs
src/main/java/com/govind/ecommerce/controller/AdminCouponController.java - Homepage content
src/main/java/com/govind/ecommerce/controller/HomeController.java
Other components
- Customer
- Seller
- Admin
- Email provider
- Razorpay / Stripe
- MySQL
Connections 36
- Customer → Auth API: requests access
- Auth API → Auth service: delegates auth
- Auth service → OTP storage: stores OTP
- Auth service → Email service: sends OTP
- Email service → Email provider: sends email
- Auth service → JWT security: generates token
- Customer → Catalog APIs: browses
- Catalog APIs → Product service: requests products
- Customer → Cart APIs: manages cart
- Cart APIs → Cart service: delegates cart
- Customer → Review API: reviews products
- Review API → User service: resolves identity
- Review API → Product service: loads product
- Review API → Review service: delegates review
- Review service → Review repository: reads / writes
- Customer → Order API: checks out
- Order API → User service: resolves identity
- Order API → Cart service: loads cart
- Order API → Order service: creates orders
- Order API → Payment service: creates payment
- Payment service → Razorpay / Stripe: creates links
- Order API → Payment order store: saves Razorpay link
- Payment callback → User service: resolves identity
- Payment callback → Payment service: verifies payment
- Payment callback → Transactions: creates records
- Payment callback → Seller service: loads seller
- Payment callback → Seller reports: updates metrics
- Payment callback → Razorpay / Stripe: verifies payment
- Seller → Seller APIs: manages store
- Seller APIs → Seller service: requests seller data
- Seller APIs → Order service: updates order
- Seller APIs → Seller reports: reads report
- Admin → Admin APIs: administers store
- Admin APIs → Seller service: approves sellers
- Admin → Coupon APIs: manages coupons
- Admin → Homepage content: manages homepage