POLCO TOURS is a Tourism Operating System for the Democratic Republic of Congo and Namibia. It combines tour package sales with tourism operations management, connecting tourists, tour operators, guides, drivers, vehicle owners, hotels, restaurants, visa facilitators and other tourism actors on one secure platform.
# POLCO TOURS
Tourism Operating System for **Namibia** and the **Democratic Republic of Congo**.
This repository is the **Phase 0 foundation** from the engineering design package
(Volumes 1–11). It establishes the pipeline, database, access control and quality
gates that every later phase builds on.
Stack (DR-001): **Next.js** (App Router, TypeScript) on **Vercel**, **Neon
PostgreSQL** with **Prisma**, **Better Auth** + RBAC, **DPO Pay** (Phase 1).
Launch operator: **Lam**, holding SUPERADMIN across both countries (DR-005).
---
## Phase 0 exit criteria
- [x] Repo structured by module boundaries (`src/modules/*`, Vol. 5 §5.2)
- [x] GitHub → Vercel pipeline with CI gates (`.github/workflows/ci.yml`)
- [x] Neon environments, branch-per-PR ready (`DATABASE_URL` / `DIRECT_URL`)
- [x] Auth + RBAC skeleton (`src/lib/auth.ts`, `src/lib/rbac.ts`)
- [x] Design tokens + landing surface (`tailwind.config.ts`, `src/app`)
- [x] Per-country tax table seeded (`prisma/seed.ts`, DR-006)
- [x] Observability baseline (`src/lib/logger.ts`, health probe)
- [x] **RLS proven by a cross-tenant test** (`tests/rls.cross-tenant.test.ts`)
The last item is the gate: `npm test` must pass, which means Row-Level Security
isolates tenants against a real Postgres.
---
## Local setup
```bash
# 1. Install
npm install
# 2. Configure env
cp .env.example .env # fill DATABASE_URL / DIRECT_URL (Neon) + BETTER_AUTH_SECRET
# 3. Create schema, apply RLS policies, seed Lam + tax rates
npm run db:setup # = db:push + db:rls + db:seed
# 4. Finalize Better Auth tables (emits into schema, then push)
npx @better-auth/cli@latest generate
npm run db:push
# 5. Run
npm run dev #
localhost (health: /api/v1/health)
```
### Scripts
| Script | Purpose |
|--------|---------|
| `npm run dev` / `build` / `start` | Next.js dev / production build / serve |
| `npm run lint` / `typecheck` | ESLint / `tsc --noEmit` |
| `npm test` / `test:watch` | Vitest (unit + RLS) |
| ` …