Datewise is a Singapore-only itinerary generator.
apps/web: Next.js frontend (separated pages: login/planner/profile/public)apps/api: NestJS APIpackages/shared: taxonomy, validation, and conflict helpers
npm install
cp .env.example .env
npm run devnpm run typecheck
npm run test
npm run build- Frontend primary auth uses Datewise API endpoints (
/auth/signup,/auth/login) for local email/password flows. - API uses in-memory users in local dev; if the API restarts, sign in again to refresh session state.
- API can also validate Supabase bearer tokens via
/auth/v1/userwhen Supabase env vars are configured.
- Planner start-point search uses Google Places Autocomplete + Place Details (Singapore-only filter).
- Set
NEXT_PUBLIC_GOOGLE_MAPS_API_KEYin.envto enable autocomplete in the web app.
- Backend currently uses deterministic in-memory persistence for local iteration in
apps/api/src/db.ts. - Production target PostgreSQL schema is available at
apps/api/prisma/schema.prisma. - Product/system specification is maintained in
docs/DATEWISE_SYSTEM_SPEC.md. - API contracts are documented in
docs/DATEWISE_API_SPEC.md.