How sovandarachim2-commits/shadow-shop works
Shadow Shop is a wholesale cosmetics commerce and operations system: customers browse products, build a cart, check out, pay, and track orders; staff manage orders, inventory, delivery, finance, and reports. The React app routes customer and admin experiences to a Django REST API, with MySQL-backed domain apps and optional Telegram and payment-provider integrations. The README documents the main capabilities and API modules; sampled source confirms selected payment, inventory, notification, and routing behavior, but many views and frontend pages were not inspected, so their internal call paths are not asserted.
Main entry points: api Frontend API modules · models.py Order management · services.py Payment services · App.jsx React application
Components 22
Web application
- React application
frontend/src/App.jsx - Customer shopping
frontend/src/pages/customer - Admin dashboard
frontend/src/pages/admin - Frontend API modules
frontend/src/api
Commerce and catalog
- Product catalog
backend/apps/products/models.py - Order management
backend/apps/orders/models.py - Checkout orchestration
backend/apps/payments/checkout_flow.py - Payment services
backend/apps/payments/services.py - Payment records
backend/apps/payments/models.py
Operations
- Inventory and transfers
backend/apps/inventory/services.py - Delivery tracking
backend/apps/delivery - Finance
backend/apps/finance/models.py - Business reports
backend/apps/reports
Identity and integrations
- Accounts and permissions
backend/apps/accounts/models.py - Account workflows
backend/apps/accounts/views.py - Telegram notifications
backend/apps/notifications/services.py - Media storage
backend/utils/storage.py
Other components
- Customer
- Staff user
- Telegram Bot
- ABA PayWay
- Bakong payment
Connections 27
- Customer → React application: uses
README.md - Staff user → React application: uses
README.md - React application → Customer shopping: routes to
frontend/src/App.jsx - React application → Admin dashboard: routes to
frontend/src/App.jsx - Customer shopping → Frontend API modules: requests data
- Admin dashboard → Frontend API modules: requests data
- Frontend API modules → Product catalog: calls API
- Frontend API modules → Order management: calls API
- Frontend API modules → Checkout orchestration: calls API
- Frontend API modules → Inventory and transfers: calls API
- Frontend API modules → Delivery tracking: calls API
- Frontend API modules → Finance: calls API
- Frontend API modules → Business reports: calls API
- Frontend API modules → Account workflows: calls API
- Checkout orchestration → Payment services: delegates to
backend/apps/payments/checkout_flow.py - Payment services → Payment records: records payments
backend/apps/payments/services.py - Payment services → ABA PayWay: checks status
- Payment services → Bakong payment: checks status
backend/apps/payments/services.py - Checkout orchestration → Order management: fulfills checkout
- Order management → Inventory and transfers: deducts stock
backend/apps/orders/serializers.py - Order management → Finance: updates finance
backend/apps/orders/serializers.py - Order management → Telegram notifications: notifies
backend/apps/orders/serializers.py - Telegram notifications → Telegram Bot: sends messages
backend/apps/notifications/services.py - Account workflows → Accounts and permissions: reads and updates
backend/apps/accounts/views.py - Account workflows → Telegram notifications: requests alerts
backend/apps/accounts/views.py - Product catalog → Media storage: stores uploads
backend/apps/products/models.py - Product catalog → Inventory and transfers: uses stock
backend/apps/products/models.py