# 13 — Development Task List (suggested order)

Each item ends in a small commit. Larger items are split into multiple sub-commits.

## Foundation

1. Initialize repo, pnpm workspaces, `turbo.json`, base `tsconfig`.
2. Add eslint, prettier, husky, lint-staged.
3. Add `packages/types` (domain types, enums).
4. Add `packages/validators` (Zod schemas).
5. Add `packages/config` (env loaders, helpers).
6. Add `packages/ui` (tokens, primitive types).
7. Add `.env.example` and `docker-compose.yml` for Postgres + Redis.

## API

8. Bootstrap NestJS in `apps/api`, Fastify adapter, Pino logger.
9. Add Prisma schema (identity, geography, catalog placeholders, audit).
10. Auth module: signup, login, OTP, refresh, logout.
11. Users module + me endpoint.
12. Roles + Permissions modules; seed system roles.
13. RBAC guard + Prisma scope middleware.
14. Audit interceptor + AuditModule (read).
15. I18n + Health modules.
16. Destinations + Categories modules (read).
17. Listings + Rooms modules (read MVP, write Phase 2).
18. Bookings module (create, list own, cancel) using mock payment.
19. Saved module.
20. TripPlanner module (mock AI).
21. Translator module (mock OCR + translate).
22. Emergency module (read seed).
23. Provider abstractions: payment/map/sms/ocr/ai/translation/email/storage/push/analytics.
24. OpenAPI export.
25. Seed script (UAE: countries, regions, cities, emergency numbers, sample destinations and listings).

## Mobile

26. Bootstrap Expo app, Expo Router, fonts, design tokens.
27. Auth stack: splash, onboarding, login, signup, forgot, OTP.
28. Tabs: home, discover, bookings, saved, profile.
29. API client, React Query, auth Zustand store.
30. i18n EN/AR + RTL toggle.
31. Per-screen states: loading, empty, error, offline, denied.
32. Service detail screens: stays, activities, taxi, food, pharmacy, grocery, sim, emergency.
33. Listing detail + room select + checkout (mock pay).
34. Trip planner 4 steps + result.
35. Image translator screen (mock provider).

## Dashboard

36. Bootstrap Next.js, layout, sidebar, login.
37. Overview KPIs (mock data).
38. Users list + detail.
39. Roles list + detail.
40. Audit logs list.
41. Businesses list + detail (Phase 2).
42. Listings + Bookings tables (Phase 2).

## Website

43. Bootstrap Next.js, locale routing.
44. Landing page.
45. Tourists, Partners pages.
46. Destinations grid.
47. About, Contact, Privacy, Terms.

## QA & DX

48. CI workflow (GitHub Actions).
49. Playwright e2e (web) + Maestro (mobile) smoke.
50. Pre-commit hooks: typecheck, lint, format.

This list is the "spine"; sub-tickets are tracked in the issue tracker per phase.
