How lurevia/lurevia-ecommerce works
Lurevia is a REST backend for a Malagasy artisan marketplace. Its main customer journey is discovering products, managing a cart and order, paying, and tracking delivery; sellers and administrators have separate product, finance, moderation, and verification capabilities. The tree and README establish those subsystems, while sampled files confirm selected route-to-controller and service-to-storage/provider links. Other domain wiring is omitted where source excerpts do not show the callers.
Main entry points: media.service.ts Media Import · prisma.ts PostgreSQL via Prisma · auth.service.ts Authentication · reviews.routes.ts Reviews
Components 24
Catalog and Discovery
- Product Catalog
src/modules/products/products.routes.ts - Categories
src/modules/categories/categories.routes.ts - Media Import
src/modules/media/media.service.ts
Commerce and Delivery
- Shopping Cart
src/modules/cart/cart.routes.ts - Orders
src/modules/orders/orders.routes.ts - Payments
src/modules/payments/payments.routes.ts - Delivery Tracking
src/modules/delivery-tracking/tracking-query.service.ts - Pickup Points
src/modules/pickup-points/pickup-points.routes.ts
Accounts and Community
- Authentication
src/modules/auth/auth.service.ts - Identity Verification
src/modules/identity-verifications/identity-verifications.routes.ts - Reviews
src/modules/reviews/reviews.routes.ts - Review Controller
src/modules/reviews/reviews.controller.ts - Review Service
src/modules/reviews/reviews.service.ts
Platform Operations
- HTTP Server
src/server.ts - Express App
src/app.ts - API Routes
src/routes/index.ts - Admin Management
src/modules/admin/admin.routes.ts - PostgreSQL via Prisma
src/lib/prisma.ts
Other components
- Customer
- Seller
- Administrator
- GitHub Contents API
- Mobile Money Providers
src/modules/payments/operators/types.ts - SMTP Email
Connections 19
- HTTP Server → Express App: starts
- Customer → Product Catalog: requests catalog
- Seller → Product Catalog: manages listings
- Customer → Shopping Cart: manages cart
- Customer → Orders: places orders
- Customer → Payments: initiates payment
- Mobile Money Providers → Payments: processes payment
- Customer → Delivery Tracking: checks tracking
- Customer → Reviews: submits reviews
- Reviews → Review Controller: dispatches
- Review Controller → Review Service: calls
- Review Service → PostgreSQL via Prisma: reads/writes
- Customer → Media Import: imports media
- Media Import → GitHub Contents API: uploads contents
- Media Import → PostgreSQL via Prisma: stores metadata
- Administrator → Admin Management: manages platform
- Administrator → Identity Verification: reviews verification
- Authentication → PostgreSQL via Prisma: stores refresh tokens
- Authentication → SMTP Email: sends verification codes