How erzamadana-ui/jastipkita works
JastipKita is a two-sided Indonesian personal-shopping marketplace: buyers post shopping requests, verified travelers publish trips and offers, and accepted matches proceed through pricing, protected payment, delivery, and receipt. The API and shared pure-domain engine provide the main runtime; the public site and admin SPA support discovery and operations. The README also documents mobile clients, finance, risk, growth, support, and compliance capabilities. Several paths are represented by their enclosing module because their implementation was not sampled; mobile source and database migrations were not in the supplied tree.
Main entry points: app.ts HTTP API · checkout Checkout and Purchase · requests Shopping Requests · offers Offers and Matching
Components 22
Client Experiences
- Public Website
apps/web/src - Admin SPA
apps/admin/src - Mobile App
apps/mobile
Marketplace Flow
- Domain Engine
packages/core/src - Shopping Requests
apps/api/src/modules/requests - Traveler Trips
apps/api/src/modules/trips - Offers and Matching
apps/api/src/modules/offers
Trust and Transaction
- Authentication
apps/api/src/modules/auth - KYC and Files
apps/api/src/modules/kyc - Checkout and Purchase
apps/api/src/modules/checkout - Delivery and Receipt
apps/api/src/modules/delivery - Disputes
apps/api/src/modules/disputes
Operations and Platform
- HTTP API
apps/api/src/app.ts - Payments and Finance
apps/api/src/modules - Admin Operations
apps/api/src/modules/admin - Notifications
apps/api/src/modules/notifications
External Services
- PostgreSQL
- Payment Provider
apps/api/src/providers/payment - File Storage
apps/api/src/providers/storage
Other components
- Buyer
- Traveler
- Admin Operator
Connections 35
- Buyer → Public Website: discovers
- Buyer → Mobile App: uses
- Traveler → Mobile App: uses
- Public Website → HTTP API: requests data
- Mobile App → HTTP API: calls
- Admin Operator → Admin SPA: operates
- Admin SPA → HTTP API: calls
- HTTP API → Authentication: dispatches
- HTTP API → Shopping Requests: dispatches
- HTTP API → Traveler Trips: dispatches
- HTTP API → Offers and Matching: dispatches
- HTTP API → Checkout and Purchase: dispatches
- HTTP API → Delivery and Receipt: dispatches
- HTTP API → Disputes: dispatches
- HTTP API → KYC and Files: dispatches
- Shopping Requests → Domain Engine: checks restrictions
- Offers and Matching → Domain Engine: uses matching
- Checkout and Purchase → Domain Engine: calculates quote
- Checkout and Purchase → Payment Provider: starts payment
- Payment Provider → HTTP API: sends webhook
- HTTP API → Payments and Finance: dispatches
- Delivery and Receipt → HTTP API: updates transaction
- Disputes → HTTP API: records cases
- KYC and Files → File Storage: stores documents
- HTTP API → Notifications: dispatches events
- HTTP API → Admin Operations: dispatches
- Admin Operations → PostgreSQL: queries and updates
- Shopping Requests → PostgreSQL: persists requests
- Traveler Trips → PostgreSQL: persists trips
- Offers and Matching → PostgreSQL: persists offers
- Checkout and Purchase → PostgreSQL: persists purchases
- Delivery and Receipt → PostgreSQL: persists delivery
- Disputes → PostgreSQL: persists cases
- Payments and Finance → PostgreSQL: records finance
- Notifications → PostgreSQL: reads and writes