Skip to content

thisistoni/chatwithdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ChatWithDb

Interact with your own MongoDB data through a conversational interface powered by Semantic Kernel. This portfolio-ready project pairs an ASP.NET Core backend with a React frontend to deliver read-only analytics, table views, and charts generated by an LLM.

Features

  • Connect to any MongoDB instance via connection string (locally stored per session).
  • Chat with an LLM that can call vetted functions for schema discovery and query execution.
  • Built-in Semantic Kernel plugin for MongoDB collection introspection and safe aggregation.
  • Render tabular results and data visualizations based on query outputs.
  • Enforced read-only access with guardrails for safe tool execution.
  • Modular architecture ready for future providers or databases.

Project Structure

.
├── backend/      # ASP.NET Core minimal API + Semantic Kernel plugins
├── frontend/     # React (Vite + TypeScript) UI
├── README.md     # Project overview and setup guide
└── .gitignore

Tech Stack

  • Backend: .NET 8, ASP.NET Core Minimal APIs, Microsoft Semantic Kernel, MongoDB Driver
  • Frontend: React, Vite, TypeScript, TailwindCSS (planned), recharts
  • LLM Providers: Azure OpenAI (default) with Semantic Kernel abstraction for other providers

Getting Started

  1. Clone the repository and install prerequisites:
    • .NET 8 SDK
    • Node.js 20+
  2. Backend setup:
    • Restore dependencies with dotnet build.
    • Configure appsettings.* or user secrets with LLM provider keys and defaults.
  3. Frontend setup:
    • Use Node.js 20.19+ or 22.12+ (Vite 7 requirement).
    • cd frontend && npm install
    • Copy .env.example to .env.local (optional) and set VITE_API_BASE_URL.
    • npm run dev to start the UI on port 5173.
  4. Launch both projects and visit the frontend to start chatting with your database.

Detailed backend/frontend instructions will be added as the implementation progresses.

Roadmap

  • Bootstrap backend services with Semantic Kernel integration.
  • Implement MongoDB tool plugins and query safety checks.
  • Build chat orchestration and streaming response handling.
  • Create frontend chat UI with chart/table rendering.
  • Document deployment options (Azure App Service, Vercel, etc.).

Contributing

Suggestions and pull requests are welcome. Please open an issue to discuss major changes before submitting a PR.

License

MIT

About

Interact with your own MongoDB data through a conversational interface powered by Semantic Kernel.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors