How nahiyanasir/shastho_mart works
ShasthoMart is a medicine marketplace API. Users authenticate and then browse medicines and categories, place and track orders, and submit reviews; sellers manage medicines and seller orders, while admins manage users and marketplace data. The graph follows the Express entry point through routes, controllers, and services to PostgreSQL. Service behavior for several modules is not included in the excerpts, so their internal database operations are shown only where supported by the bundled source.
Main entry points: app.ts Express API · prisma.ts Prisma client · middleware.ts Session middleware · medicineRoute.ts Medicine routes
Components 24
API and auth
- Express API
src/app.ts - Better Auth
src/lib/auth.ts - Session middleware
src/middleware/middleware.ts - Prisma client
src/lib/prisma.ts
Medicine catalog
- Medicine routes
src/modules/medicine/medicineRoute.ts - Medicine controller
src/modules/medicine/medicineController.ts - Medicine service
src/modules/medicine/medicineService.ts - Category routes
src/modules/categories/categoriesRoute.ts - Category controller
src/modules/categories/categoriesController.ts - Category service
src/modules/categories/categoriesService.ts
Orders and reviews
- Order routes
src/modules/orders/ordersRoute.ts - Order controller
src/modules/orders/ordersController.ts - Order service
src/modules/orders/ordersService.ts - Review routes
src/modules/review/reviewRoute.ts - Review controller
src/modules/review/reviewController.ts - Review service
src/modules/review/reviewService.ts
Users and statistics
- User routes
src/modules/users/user.route.ts - User controller
src/modules/users/user.controller.ts - User service
src/modules/users/user.service.ts - Stats routes
src/modules/stats/stats.route.ts - Stats controller
src/modules/stats/stats.controller.ts - Stats service
src/modules/stats/stats.service.ts
Other components
- Customer, seller, admin
- PostgreSQL
Connections 33
- Customer, seller, admin → Express API: sends requests
- Express API → Medicine routes: mounts routes
- Express API → Category routes: mounts routes
- Express API → Order routes: mounts routes
- Express API → Review routes: mounts routes
- Express API → User routes: mounts routes
- Express API → Stats routes: mounts routes
- Express API → Better Auth: dispatches auth
- Medicine routes → Session middleware: checks session
- Order routes → Session middleware: checks session
- Review routes → Session middleware: checks session
- User routes → Session middleware: checks session
- Session middleware → Better Auth: gets session
- Medicine routes → Medicine controller: dispatches requests
- Medicine controller → Medicine service: calls
- Category routes → Category controller: dispatches requests
- Category controller → Category service: calls
- Order routes → Order controller: dispatches requests
- Order controller → Order service: calls
- Review routes → Review controller: dispatches requests
- Review controller → Review service: calls
- User routes → User controller: dispatches requests
- User controller → User service: calls
- Stats routes → Stats controller: dispatches requests
- Stats controller → Stats service: calls
- Medicine service → Prisma client: queries
- Category service → Prisma client: queries
- Order service → Prisma client: queries
- Review service → Prisma client: queries
- User service → Prisma client: queries
- Stats service → Prisma client: counts records
- Better Auth → Prisma client: uses adapter
- Prisma client → PostgreSQL: reads and writes