UrbanReflex Logo
UrbanReflex

Ecosystem

External and platform services used by UrbanReflex

Ecosystem

Overview

UrbanReflex integrates several external and platform services. Most are optional in dev (mock data if keys are missing). Configure via .env as shown in DEVELOPMENT_SETUP.md.


Orion-LD (Context Broker)

  • NGSI-LD-compliant context broker for core entities.
  • Default dev URL: http://localhost:1026/ngsi-ld/v1
  • Used for: RoadSegment, Streetlight, CitizenReport, WeatherObserved, AirQualityObserved, PointOfInterest.
ORION_LD_URL=http://localhost:1026

OpenAQ (optional, air quality source)

  • External AQ data; can be mocked in dev if API key absent.
OPENAQ_API_KEY=your_key_here

OpenWeatherMap (optional, weather source)

  • External weather data; can be mocked in dev.
OPENWEATHER_API_KEY=your_key_here

Gemini AI (chatbot LLM)

  • Primary LLM for chatbot endpoints (/ai-service/chatbot/chat).
GEMINI_API_KEY=your_key_here

Pinecone (optional vector search for RAG)

  • Enables semantic retrieval for chatbot when configured.
PINECONE_API_KEY=your_key_here
PINECONE_ENVIRONMENT=your_env
PINECONE_INDEX_NAME=urbanreflex-index

If not set, chatbot still works without vector search.


Databases & Infra

  • MongoDB: application data (users, reports metadata). Dev: mongodb://localhost:27017.
  • Docker Compose: spins up MongoDB + Orion-LD (via just dev or just db-start).
  • Scheduler (planned): fetch external data (OpenAQ/OpenWeather), transform to NGSI-LD, push to Orion-LD/Mongo.

Monitoring / Tooling (future/optional)

  • Prometheus & Grafana for metrics/visualization.
  • Postman/Thunder Client for API testing.
  • VS Code + ESLint/Prettier/Black/isort for dev experience.

On this page