How farad-alam/multi-vendor-ecommerce works
This is a Django multi-vendor shopping platform. Customers browse a storefront, manage a cart and shipping details, pay through Stripe, and receive placed orders; they can also rate products. Vendors manage stores and products, while employees administer placed and completed orders. The graph includes these documented product branches and the sampled account, catalog, and payment code. Some routing and subsystem internals were not sampled, so undocumented connections are omitted.
Main entry points: models.py Products and reviews · products/views.py Cart and checkout · admin.py Vendor dashboard · payments/views.py Payment handling
Components 18
Accounts and roles
- Accounts
accounts/views.py - User profiles
accounts/models.py
Storefront and catalog
- Storefront
home/views.py - Product browsing
products/views.py - Products and reviews
products/models.py - Product signals
products/signals.py
Cart, orders, payments
- Cart and checkout
products/views.py - Order records
products/models.py - Payment handling
payments/views.py
Vendor and order operations
- Vendor stores
Vendors/models.py - Vendor dashboard
Vendors/admin.py - Product admin form
Vendors/adminForms.py - Order dashboards
AdminPanel/views.py - Order admin
AdminPanel/placed_oder_and_items_admin.py
Other components
- Customer
- Vendor
- Employee
- Stripe
Connections 21
- Customer → Accounts: registers or signs in
- Customer → Storefront: browses
- Storefront → Products and reviews: reads products
home/views.py - Customer → Product browsing: views and reviews
- Product browsing → Products and reviews: reads and writes
products/views.py - Accounts → User profiles: creates and authenticates
accounts/views.py - Vendor → Vendor dashboard: manages shop
- Vendor dashboard → Product admin form: uses form
Vendors/admin.py - Vendor dashboard → Vendor stores: manages stores
Vendors/admin.py - Vendor dashboard → Products and reviews: manages products
Vendors/admin.py - Vendor stores → User profiles: belongs to vendor
Vendors/models.py - Customer → Cart and checkout: shops and checks out
- Cart and checkout → Products and reviews: reads products
products/views.py - Cart and checkout → Order records: places orders
payments/views.py - Cart and checkout → Payment handling: starts payment
payments/views.py - Payment handling → Stripe: creates payment intent
payments/views.py - Payment handling → Stripe: updates payment
payments/views.py - Employee → Order dashboards: manages orders
- Order dashboards → Order records: reads order records
AdminPanel/views.py - Order admin → Order records: administers orders
AdminPanel/placed_oder_and_items_admin.py - Product signals → Products and reviews: uses product models
products/signals.py