How ahmad-codemaster/geomarket works
GeoMarket is a location-first, multi-vendor marketplace. Customers set a location, discover eligible nearby stores and inventory, maintain a single-store cart, and check out as a guest or signed-in user; vendors manage stores, stock, and fulfillment, while admins oversee the platform. The graph combines sampled controller/service calls with README-documented product capabilities. Several client and backend subsystems are represented by their exact tree paths, but unsampled internal wiring is intentionally omitted.
Main entry points: prisma.ts PostgreSQL and PostGIS · api.ts API client · App.tsx Web application · order.service.ts Checkout and orders
Components 25
Customer application
- Web application
client/src/App.tsx - API client
client/src/lib/api.ts - Location selection
client/src/components/location/LocationPickerModal.tsx - Location state
client/src/store/location.store.ts - Discovery queries
client/src/hooks/useDiscovery.ts - Cart queries
client/src/hooks/useCart.ts - Order queries
client/src/hooks/useOrders.ts
Commerce services
- Discovery API
server/src/modules/discovery/discovery.controller.ts - Proximity discovery
server/src/modules/discovery/discovery.service.ts - Discovery data access
server/src/modules/discovery/discovery.repository.ts - Geocoding service
server/src/modules/location/location.service.ts - Geocoding providers
server/src/modules/location/providers/nominatim.provider.ts - Cart API
server/src/modules/cart/cart.controller.ts - Cart rules
server/src/modules/cart/cart.service.ts - Checkout and orders
server/src/modules/order/order.service.ts - Order lifecycle
server/src/modules/order/order.fsm.ts
Marketplace operations
- Store management
server/src/modules/store/store.service.ts - Inventory management
server/src/modules/product/product.service.ts - Verified reviews
server/src/modules/review/review.service.ts - Analytics
server/src/modules/analytics/analytics.service.ts - Platform administration
server/src/modules/admin/admin.controller.ts
Shared platform
- Authentication API
server/src/modules/auth/auth.controller.ts - Authentication
server/src/modules/auth/auth.service.ts - PostgreSQL and PostGIS
server/src/lib/prisma.ts
Other components
- Customer
Connections 29
- Customer → Web application: uses
- Web application → Location selection: selects location
- Location selection → Location state: updates location
- Web application → Discovery queries: browses nearby
- Discovery queries → API client: requests discovery
- API client → Discovery API: calls API
- Discovery API → Proximity discovery: delegates
- Proximity discovery → Discovery data access: queries stores
- Discovery data access → PostgreSQL and PostGIS: reads spatial data
- Web application → Cart queries: manages cart
- Cart queries → API client: calls cart API
- API client → Cart API: calls API
- Cart API → Cart rules: delegates
- Cart rules → PostgreSQL and PostGIS: reads and writes
- Web application → Order queries: tracks orders
- Order queries → API client: calls order API
- API client → Checkout and orders: submits checkout
- Checkout and orders → PostgreSQL and PostGIS: creates orders
- Checkout and orders → Order lifecycle: checks transitions
- Authentication API → Authentication: delegates
- Authentication API → Cart rules: transfers guest cart
- Authentication → PostgreSQL and PostGIS: reads and writes
- Geocoding service → Geocoding providers: geocodes with
- Geocoding service → PostgreSQL and PostGIS: reads location data
- Store management → PostgreSQL and PostGIS: manages stores
- Inventory management → PostgreSQL and PostGIS: manages inventory
- Verified reviews → PostgreSQL and PostGIS: reads and writes
- Analytics → PostgreSQL and PostGIS: queries metrics
- Platform administration → PostgreSQL and PostGIS: queries platform data