UrbanReflex
Smart City intelligence platform — overview, setup, and docs map
UrbanReflex
Highlights
- Real-time NGSI-LD context (RoadSegment, Streetlight, WeatherObserved, AirQualityObserved, POI, CitizenReport).
- Citizen reporting: create/list/update/delete + NLP classification and POI-based priority.
- AI chatbot: streaming/non-streaming; optional vector search (Pinecone) for RAG.
- Admin health/stats endpoints; Swagger/ReDoc/OpenAPI schema.
- One-command setup with Just + UV + Docker Compose (MongoDB, Orion-LD).
Quick Start
Services: Frontend http://localhost:3000 • Backend http://localhost:8000 (Swagger /docs) • Orion-LD http://localhost:1026 • MongoDB localhost:27017.
Run separately: just backend-dev, just frontend-dev, DB only: just db-start.
Minimal env (backend):
Frontend .env.local:
Services & URLs
- Base (dev):
http://localhost:8000 - Docs:
/docs(Swagger),/redoc, schema/openapi.json - API namespace:
/api/v1/ - Orion-LD:
http://localhost:1026/ngsi-ld/v1(direct NGSI-LD operations)
Architecture
- Backend: FastAPI, async, Pydantic, OpenAPI, SSE chatbot.
- Data layer: MongoDB; Orion-LD for NGSI-LD; Pinecone optional; Redis (planned) for cache/rate-limit.
- AI: Gemini Pro; RAG optional with vector search.
- Docs/frontend: Next.js 15 static export (Fumadocs), Tailwind 4; GitHub Pages basePath supported (
GITHUB_PAGES=true→/UrbanReflex).
See full diagrams in ARCHITECTURE.md.
Tech Stack
- Backend: FastAPI, Python 3.10+, httpx, Pydantic 2, Uvicorn, APScheduler (planned).
- Data/Context: MongoDB, Orion-LD (NGSI-LD), Pinecone (optional vectors).
- AI: Gemini Pro (google-generativeai).
- Docs/UI: Next.js 15, React 18, Tailwind 4, Fumadocs MDX; static export.
Documentation
- Setup:
DEVELOPMENT_SETUP.md - API:
API_REFERENCE.md - Data model:
DATA_MODEL_AND_ENTITIES.md - User guide:
USER_GUIDE.md - Architecture:
ARCHITECTURE.md - Code style:
CODE_STYLE_GUIDE.md
Commands (Just)
License
GPL-3.0. See LICENSE. Contributions welcome—PRs are appreciated.
