HandiGo is an MVP marketplace for connecting customers with nearby service providers. The project uses Next.js 16, React 19, Tailwind CSS 4, Express 5, Prisma 6 and SQLite.
- Customer onboarding with a persistent customer record and local device session.
- Service discovery by category, location-aware provider sorting, map pins and provider details.
- Booking creation tied to the current customer, provider and service.
- Customer booking history and profile editing.
- Provider onboarding, local provider session and provider settings.
- Provider chat with persisted messages and MVP auto-replies.
- Admin authentication plus dashboards for customers, providers, services, bookings and messages.
- Next.js rewrites proxy
/api/*to the Express API, so the web app can call the backend without hard-codinglocalhost:4000. - Backend source is ESM; there are no CommonJS
require()ormodule.exportsfiles.
npm install
cp .env.example .env
npm run db:setup
npm run devOpen http://localhost:3000. The Express API runs on http://localhost:4000.
Default admin credentials are controlled by ADMIN_PASSWORD and ADMIN_API_KEY; the example values are handigo-admin and handigo-admin-key. Change these before deployment.
For a separately hosted API, set NEXT_PUBLIC_API_URL to the public API origin and/or set BACKEND_URL for the Next rewrite target.
Run npm run db:migrate:deploy against the production database, set the environment variables, build with npm run build, then run the Next app and Express API with their normal start commands.
The MVP intentionally keeps customer/provider authentication device-local. The database model is ready for a later password, OTP or OAuth authentication layer without changing the marketplace entities.