GeoQuery / docs /INDEX.md
GerardCB's picture
Deploy to Spaces (Final Clean)
4851501

GeoQuery Documentation Index

Welcome to the GeoQuery technical documentation.


πŸš€ Getting Started

New to GeoQuery? Start here:

  1. README.md - Project overview and quick start
  2. SETUP.md - Development environment setup
  3. ARCHITECTURE.md - System architecture and design

πŸ“š Available Documentation

System Overview

  • ARCHITECTURE.md - High-level system design, components, and data flow
  • DATA_FLOW.md - End-to-end request processing walkthrough
  • SETUP.md - Local development setup and troubleshooting

Backend

Frontend

Data


🎯 Common Tasks

"I want to add a new dataset"

  1. Download or create GeoJSON file
  2. Place in backend/data/ subdirectory
  3. Add entry to backend/data/catalog.json
  4. Regenerate embeddings: rm backend/data/embeddings.npy && python -c "from backend.core.semantic_search import get_semantic_search; get_semantic_search()"
  5. See backend/SCRIPTS.md for detailed guide

"I want to understand how queries work"

  1. Read DATA_FLOW.md - Step-by-step walkthrough from user query to map rendering
  2. Read backend/CORE_SERVICES.md - Service interactions and methods
  3. Read backend/LLM_INTEGRATION.md - Prompt system and LLM calls

"I want to modify the frontend"

  1. Read frontend/COMPONENTS.md - Component structure and state management
  2. Check component files in frontend/src/components/ for implementation details
  3. See backend/API_ENDPOINTS.md for backend integration

"I want to extend the LLM capabilities"

  1. Read backend/LLM_INTEGRATION.md - Prompt engineering guide
  2. Edit prompts in backend/core/prompts.py
  3. Add new methods to backend/core/llm_gateway.py if needed

πŸ“‹ Quick Reference

File Structure

GeoQuery/
β”œβ”€β”€ README.md                    # Project overview
β”œβ”€β”€ ARCHITECTURE.md              # System design
β”œβ”€β”€ SETUP.md                     # Dev setup
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ INDEX.md                 # This file
β”‚   β”œβ”€β”€ DATA_FLOW.md            # Request pipeline
β”‚   β”œβ”€β”€ backend/                 # Backend docs
β”‚   β”‚   β”œβ”€β”€ CORE_SERVICES.md
β”‚   β”‚   β”œβ”€β”€ API_ENDPOINTS.md
β”‚   β”‚   β”œβ”€β”€ LLM_INTEGRATION.md
β”‚   β”‚   └── SCRIPTS.md
β”‚   β”œβ”€β”€ frontend/                # Frontend docs
β”‚   β”‚   └── COMPONENTS.md
β”‚   └── data/                    # Data docs
β”‚       └── DATASET_SOURCES.md
β”œβ”€β”€ backend/                     # Python backend
β”‚   β”œβ”€β”€ api/                     # FastAPI endpoints
β”‚   β”œβ”€β”€ core/                    # Core services
β”‚   β”œβ”€β”€ services/                # Business logic
β”‚   β”œβ”€β”€ data/                    # GeoJSON datasets + catalog.json
β”‚   └── scripts/                 # Data ingestion
└── frontend/                    # Next.js frontend
    └── src/
        β”œβ”€β”€ app/                 # Next.js pages
        └── components/          # React components

Key Concepts

  • Intent Detection: Classifying user queries (MAP_REQUEST, SPATIAL_OP, etc.)
  • Semantic Search: Finding relevant datasets via vector embeddings
  • Text-to-SQL: Generating DuckDB queries from natural language
  • Lazy Loading: Loading GeoJSON tables on-demand
  • SSE Streaming: Real-time response streaming to frontend
  • Choropleth: Auto-generated color gradients for polygons
  • Point Styles: Icon markers (πŸ₯) vs circle points (β­•)

External Links


πŸ“„ License

This project is licensed under the MIT License - see LICENSE for details.


Last Updated: 2026-01-10