How dxxdev/dily works
Dily.uz combines an electronics storefront and admin panel with a service-provider marketplace. The primary shop journey routes users into a static product catalog, where they can search, filter, browse categories, and open product details. Separately, customers can find providers and submit service requests, while providers and admins have role-protected routes. The README describes a MongoDB backend; sampled server code confirms a product API, while the sampled client catalog uses static data. Marketplace persistence uses Supabase. Some page internals were not sampled, so uncertain connections are omitted.
Main entry points: App.jsx Route application · AdminLayout.jsx Admin panel · index.js Express server · AuthContext.jsx Auth context
Components 31
Storefront
- Route application
client/src/App.jsx - Store layout
client/src/layouts/MainLayout.jsx - Home storefront
client/src/pages/Home.jsx - Category listings
client/src/pages/CategoryProducts.jsx - Subcategory listings
client/src/pages/OriginalCategoryProducts.jsx - Product details
client/src/pages/ProductDetail.jsx - Search and filters
client/src/pages/Searched.jsx - Product search
client/src/functions/searchedProducts.js - Static catalog
client/src/data/data.js - Saved products
client/src/pages/Save.jsx - Repair services
client/src/pages/ServisesPage.jsx - Repair details
client/src/pages/ServisesRepairDetail.jsx
Service marketplace
- Find provider
client/src/pages/FindProvider.jsx - Service request
client/src/components/RequestServiceModal.jsx - Customer requests
client/src/pages/MyRequests.jsx - Provider registration
client/src/pages/ProviderRegister.jsx - Provider review status
client/src/pages/ProviderPending.jsx - Incoming requests
client/src/pages/provider/IncomingRequests.jsx - Provider review
client/src/components/LeaveReviewModal.jsx - Active regions
client/src/hooks/useActiveRegions.js
Identity and access
- Auth context
client/src/context/AuthContext.jsx - Role guard
client/src/components/ProtectedRoute.jsx - Admin panel
client/src/layouts/AdminLayout.jsx - Product management
client/src/pages/admin/AdminProducts.jsx - Provider approvals
client/src/pages/admin/PendingProviders.jsx
Product backend
- Express server
server/index.js - Product API
server/routes/products.js - MongoDB
Other components
- Shopper
- Supabase
- API client
Connections 31
- Shopper → Route application: navigates
- Route application → Store layout: routes storefront
- Route application → Home storefront: routes home
- Route application → Category listings: routes category
- Route application → Subcategory listings: routes subcategory
- Route application → Product details: routes product
- Route application → Search and filters: routes search
- Route application → Saved products: routes saved
- Route application → Repair services: routes repairs
- Route application → Repair details: routes repair
- Route application → Find provider: routes providers
- Route application → Customer requests: guards customer route
- Route application → Provider registration: guards provider route
- Route application → Provider review status: guards status route
- Route application → Incoming requests: guards provider requests
- Route application → Admin panel: guards admin route
- Route application → Auth context: uses auth provider
- Search and filters → Product search: searches catalog
- Product search → Static catalog: filters products
- Service request → Supabase: inserts requests
- Provider review → Supabase: inserts reviews
- Active regions → Supabase: reads active regions
- Auth context → Supabase: auth and profile reads
- Route application → Role guard: renders route guard
- Role guard → Auth context: checks identity
- Admin panel → Product management: renders products
- Admin panel → Provider approvals: renders approvals
- API client → Express server: sends HTTP requests
- Express server → Product API: mounts product routes
- Express server → MongoDB: connects database
- Product API → MongoDB: reads and writes products