How elif0luna/ecommerce-admin-main works
Ecommerce Admin is a multi-store commerce dashboard with catalog management, sales reporting, Stripe checkout, and a student-to-student marketplace. Store owners manage catalog data and review incoming marketplace requests; buyers submit requests and track approval and settlement. The graph combines sampled calls with README-documented flows. Several dashboard pages and integrations are unsampled, so their connections are shown only where documentation supports them.
Main entry points: prismadb.ts PostgreSQL via Prisma · (routes) Catalog management · route.ts Payment webhook · page.tsx Sign in and sign up
Components 21
Access and stores
- Sign in and sign up
app/(auth)/(routes)/sign-in/[[...sign-in]]/page.tsx - Store creation and switching
components/modals/store-modal.tsx - Store dashboard
app/(dashboard)/[storeId]/layout.tsx
Store administration
- Catalog management
app/(dashboard)/[storeId]/(routes) - Catalog API
app/api/[storeId] - Image uploads
components/ui/image-upload.tsx - Cloudinary
Orders and payments
- Sales reports
actions/get-graph-revenue.ts - Order review
app/(dashboard)/[storeId]/(routes)/orders/page.tsx - Stripe checkout
app/api/[storeId]/checkout/route.ts - Payment webhook
app/api/webhook/route.ts - Stripe
lib/stripe.ts
Student marketplace
- Marketplace browsing
app/(dashboard)/[storeId]/(routes)/marketplace/components/client.tsx - Marketplace requests
app/api/marketplace/orders/route.ts - Supplier approval
app/(dashboard)/[storeId]/(routes)/orders/components/client.tsx - Buyer order tracking
app/(dashboard)/[storeId]/(routes)/my-orders/components/client.tsx - Order status API
app/api/marketplace/orders/route.ts
Persistence and services
- PostgreSQL via Prisma
lib/prismadb.ts
Other components
- Store owner
- Student buyer
- Clerk
Connections 27
- Store owner → Sign in and sign up: signs in
- Student buyer → Sign in and sign up: signs in
- Sign in and sign up → Clerk: authenticates with
- Store owner → Store creation and switching: creates store
components/modals/store-modal.tsx - Store creation and switching → PostgreSQL via Prisma: creates store via
- Store owner → Store dashboard: manages store
- Store dashboard → Catalog management: opens catalog
- Catalog management → Catalog API: manages catalog through
- Catalog API → PostgreSQL via Prisma: reads and writes
app/api/[storeId]/products/route.ts - Catalog management → Image uploads: uploads images
- Image uploads → Cloudinary: uploads to
- Store owner → Sales reports: views sales
- Sales reports → PostgreSQL via Prisma: queries revenue
actions/get-graph-revenue.ts - Store owner → Order review: reviews requests
- Student buyer → Marketplace browsing: browses products
- Marketplace browsing → Marketplace requests: submits request
app/(dashboard)/[storeId]/(routes)/marketplace/components/client.tsx - Marketplace requests → PostgreSQL via Prisma: records request
app/api/marketplace/orders/route.ts - Order review → Supplier approval: reviews and updates
- Supplier approval → PostgreSQL via Prisma: updates request
- Student buyer → Buyer order tracking: tracks request
- Buyer order tracking → Order status API: polls status
app/(dashboard)/[storeId]/(routes)/my-orders/components/client.tsx - Order status API → PostgreSQL via Prisma: reads and updates
app/api/marketplace/orders/route.ts - Store owner → Stripe checkout: initiates checkout
- Stripe checkout → Stripe: creates checkout session
app/api/[storeId]/checkout/route.ts - Stripe → Payment webhook: sends events
app/api/webhook/route.ts - Payment webhook → Stripe: verifies signature
app/api/webhook/route.ts - Payment webhook → PostgreSQL via Prisma: marks order paid
app/api/webhook/route.ts