Local History Story Map — Final Milestone
CMPE354 · Group 2 · Boğaziçi University
CI & Deployment
| Check | Status | Run |
|---|---|---|
| CI (all suites) | ✅ Passed | #25754538201 |
| Deploy to Render | ✅ Passed | #25755221587 |
Test Results
| Suite | Tests | Passed | Skipped | Failures | Report |
|---|---|---|---|---|---|
| Backend Unit | 313 | 313 | 0 | 0 | HTML · XML |
| Backend API | 130 | 130 | 0 | 0 | HTML · XML |
| Backend Integration | 104 | 104 | 0 | 0 | HTML · XML |
| Frontend Unit | 144 | 144 | 0 | 0 | HTML · XML |
| UAT (Playwright) | 6 | 5 | 1 | 0 | ZIP · XML |
| E2E (Playwright) | 9 | 9 | 0 | 0 | ZIP · XML |
| Total | 706 | 705 | 1 | 0 |
UAT: 1 skipped test (not a failure — intentionally skipped in suite).
What's in this release
- FastAPI backend with auth (email/password + Google OAuth), story CRUD, media upload, geospatial search, Haversine nearby query, auto-tagging (Gemini), speech-to-text (Whisper)
- Vanilla JS frontend served via Nginx
- Android APK (Capacitor, debug build) — see
app-debug.apkbelow - PostgreSQL + MinIO via Docker Compose
- Full test suite: unit, integration, API, UAT, E2E (Playwright)
Quick Start
cd bounswe2026group2
docker compose up --build
docker compose exec backend alembic upgrade head
docker compose exec backend python3 seed_data.py
# Frontend: http://localhost:3000 | API docs: http://localhost:8000/docsAndroid
Download app-debug.apk below and sideload onto your device.