React + TypeScript client for the Zia marketplace. Includes search, service flows, realtime messaging UI, payments, multilingual support, and admin views.
- Framework: React 19 + Vite
- Routing: React Router
- State: Context + hooks
- Networking: Axios + fetch for selected endpoints
- Realtime: Socket.IO client for chat
- UI: Tailwind CSS + custom components
- Route-level lazy loading in
App.tsx - Optimized chat message ordering insertion path
- Nginx gzip + long-lived static asset cache in container runtime
- Reduced unnecessary chat profile refetch loops
npm install
cp .env.example .env
npm run devSee .env.example. Core variables:
VITE_API_BASE_URL,VITE_API_BASE_URL_PRODVITE_API_BASE_URL_MESSAGES,VITE_API_BASE_URL_MESSAGES_PRODVITE_STRIPE_PUBLISHABLE_KEYVITE_GOOGLE_MAPS_API_KEY
docker compose up --buildThis builds static assets and serves them from Nginx on port 8080.
npm run dev- local developmentnpm run build- typecheck + production bundlenpm run preview- local preview of built assetsnpm run lint- lint source
- Point production API URLs to backend ingress endpoints.
- Keep Stripe and Google keys environment-specific.
- Prefer immutable static asset serving with SPA fallback.
Licensed under ISC. See LICENSE.