Skip to content

ChingEnLin/QueryPal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

245 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QueryPal

AI-Powered Database Assistant for Azure Cosmos DB

QueryPal lets you query, explore, and manage Azure Cosmos DB (MongoDB API) using natural language. Type a question, get an optimized MongoDB query and AI-generated analysis back.

Key capabilities:

  • Natural language → MongoDB query via Google Gemini + LangGraph ReAct agent
  • Paginated data explorer with filtering, multi-select, and document editing
  • Saved queries, audit trails, and schema relationship graph
  • Enterprise auth: Microsoft Entra ID with On-Behalf-Of (OBO) flow
  • Private backend: frontend nginx proxies all API calls internally — backend is unreachable from the internet

Tech Stack

Layer Technology
Frontend React 18, TypeScript, Vite
Backend FastAPI (Python 3.12), Pydantic V2
AI Google Gemini (gemini-2.5-flash), LangGraph
Auth Microsoft Entra ID, MSAL, OBO flow
Databases Azure Cosmos DB (MongoDB API), PostgreSQL (Cloud SQL)
Infrastructure Google Cloud Run, Terraform, GCP Secret Manager, Serverless VPC Access
CI/CD GitHub Actions, Docker, Google Container Registry

Quick Start

cp backend/.env.example backend/.env
# Fill in backend/.env — see docs/DEVELOPMENT.md for all variables
docker-compose up --build

For dev without Azure, set USE_MSAL_AUTH = false in frontend/app.config.ts to use mock data.


Documentation

Doc Contents
Architecture BFF pattern, auth flow, ReAct agent loop, security model
Infrastructure Cloud topology, network security, Secret Manager, Terraform setup, CI/CD pipeline
Azure Setup Entra ID app registrations, Cosmos DB permissions, frontend auth config
Development Local setup, testing commands, code style
Design Handbook CSS tokens, utility classes, component conventions
Versioning Semantic versioning and conventional commits

Links


Built by Ching-En Lin

About

Intelligent Azure Cosmosdb exploration and management tool

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors