How musadiq12/edu-wallet-hub works
Edu Wallet is a digital educational-resource storefront with a manual UPI purchase and verification workflow. Students browse the catalog and product details, submit payment evidence at checkout, and await admin verification and delivery. Admins manage products, orders, customers, free resources, messages, and site settings. The graph reflects the sampled calls and documented capabilities; some listed routes and the delivery function were not excerpted, so their internal links are left out.
Main entry points: catalog.ts Product catalog data · admin.ts Admin data operations · client.ts Supabase client · ProductForm.tsx Product management
Components 23
Student storefront
- Home
src/routes/index.tsx - Storefront hero
src/components/StorefrontHero.tsx - Shop catalog
src/routes/shop.index.tsx - Product details
src/routes/shop.$slug.tsx - Free resources
src/routes/free-resources.tsx - Purchased library
src/routes/library.tsx - Product catalog data
src/lib/catalog.ts
Purchase and delivery
- UPI checkout
src/routes/checkout.$slug.tsx - Verify and deliver
supabase/functions/verify-and-deliver/index.ts
Administration
- Order management
src/routes/admin.orders.tsx - Admin data operations
src/lib/admin.ts - Product management
src/components/admin/ProductForm.tsx - Product file upload
src/components/admin/AdminFileField.tsx - Customer management
src/routes/admin.customers.tsx - Free resource management
src/routes/admin.free-resources.tsx - Site settings admin
src/routes/admin.settings.tsx
Shared platform
- Authentication and roles
src/lib/auth.tsx - Supabase client
src/integrations/supabase/client.ts - Supabase backend
- Settings data access
src/lib/settings.ts - R2 file storage
- R2 upload worker
cloudflare/r2-worker/src/index.ts
Other components
- Student
Connections 35
- Student → Home: opens
- Home → Storefront hero: renders
src/routes/index.tsx - Home → Product catalog data: queries products
src/routes/index.tsx - Home → Shop catalog: links to
src/routes/index.tsx - Student → Shop catalog: browses
- Shop catalog → Product catalog data: loads products
- Student → Product details: opens
- Product details → Product catalog data: loads product
src/routes/shop.$slug.tsx - Student → Free resources: browses
- Free resources → Product catalog data: loads free items
- Student → UPI checkout: starts purchase
- UPI checkout → Product catalog data: loads product
src/routes/checkout.$slug.tsx - UPI checkout → Authentication and roles: checks session
src/routes/checkout.$slug.tsx - Student → Purchased library: views resources
- Purchased library → Product catalog data: loads products
src/routes/library.tsx - Purchased library → Authentication and roles: checks session
src/routes/library.tsx - Product catalog data → Supabase client: queries catalog
src/lib/catalog.ts - Supabase client → Supabase backend: connects
src/integrations/supabase/client.ts - Authentication and roles → Supabase client: uses auth
src/lib/auth.tsx - UPI checkout → Supabase backend: submits payment details
- Order management → Admin data operations: loads order data
src/routes/admin.orders.tsx - Order management → Verify and deliver: requests delivery
- Admin data operations → Supabase client: queries admin data
src/lib/admin.ts - Product management → Product file upload: renders upload field
src/components/admin/ProductForm.tsx - Product management → Admin data operations: uses admin operations
src/components/admin/ProductForm.tsx - Product management → Product catalog data: uses product types
src/components/admin/ProductForm.tsx - Product management → Supabase client: writes product data
src/components/admin/ProductForm.tsx - Product file upload → Admin data operations: uses upload helpers
src/components/admin/AdminFileField.tsx - Customer management → Admin data operations: loads customers
- Free resource management → Admin data operations: manages resources
- Site settings admin → Settings data access: manages settings
- Settings data access → Supabase client: reads and saves
src/lib/settings.ts - Verify and deliver → Supabase backend: accesses backend
- Admin data operations → R2 upload worker: uploads files
src/lib/admin.ts - R2 upload worker → R2 file storage: stores files