Multilingual AI travel companion and local-operator marketplace for Sri Lanka tourism — Phase 1 competition MVP for the SLTDA Tourism Start-Up Competition 2026.
cp .env.example .env
docker compose up --build| Service | URL |
|---|---|
| Tourist web (PWA) | http://localhost:3000 |
| Admin dashboard | http://localhost:3001 |
| API docs | http://localhost:8000/docs |
Without Docker (API only):
cp .env.example .env
cd services/api
python -m venv .venv
# Windows: .venv\Scripts\activate
pip install -r requirements.txt -r requirements-dev.txt
# Start Postgres+Redis via docker compose up db redis -d
alembic upgrade head
python -m app.seed
uvicorn app.main:app --reload --port 8000Frontend:
npm install
npm run dev:web # :3000
npm run dev:admin # :3001- German 7-day plan — open http://localhost:3000/plan, send the prefilled DE prompt (or use Mic). Crowd engine swaps Sigiriya 10:00 → Pidurangala sunrise when busyness > 80%. Map + day cards appear on the right.
- Sinhala operator onboard — http://localhost:3000/operator — submit form; AI generates 8-language listing; WhatsApp mock welcome fires.
- Booking + QR — http://localhost:3000/marketplace — Request booking (uses demo tourist header); confirmation QR reference shown.
- Admin forecast CSV — http://localhost:3001 — view chart, Export CSV; verification queue at
/operators.
Local auth bypass (development only): X-Demo-Admin: true / X-Demo-User: true.
apps/web Tourist Next.js 14 PWA
apps/admin Admin dashboard
services/api FastAPI gateway
services/ml Forecast training + model card
pipelines SLTDA / SLR / meteo scrapers
integrations External adapters (cache, retries, health)
packages/shared Shared TS types
Next.js 14 · FastAPI · PostgreSQL 16 + pgvector · Redis · Celery · MapLibre · Google Gemini with an OpenAI fallback (mock without either key) · Open-Meteo · next-intl-ready i18n
Missing API keys automatically use mock/stub adapters so the demo still runs under the US$150/mo cost ceiling.
cd services/api
pytest -q --cov=app --cov-report=term-missing
python ../../services/ml/train.py- Architecture slides
- OWASP / security checklist
- PDPA / GDPR data flow
- Secrets guide
- ML model card (generated by train script)