# Election Analytics Chatbot ## Overview This project is an Election Analytics Chatbot built with a modern, stateful, and graph-based architecture. It is divided into a backend (Python, LangGraph) and a frontend (React, TypeScript). ## Project Structure - **[Backend](./backend/GEMINI.md)**: Python-based LangGraph agent for data analysis and query processing. - **[Frontend](./frontend/GEMINI.md)**: React application for user interaction. ## Key Technologies - **Backend**: LangGraph, LangChain, OpenAI/Google Gemini, PostgreSQL. - **Frontend**: React, TypeScript, Vite. ## Documentation - **[Backend Guide](./backend/GEMINI.md)**: Detailed information about the backend architecture, migration goals, and implementation steps. - **[Frontend Guide](./frontend/GEMINI.md)**: Frontend development guide and technology stack. - **LangChain Docs**: See the `langchain-docs/` folder for local LangChain and LangGraph documentation. ## Git Operations - Branches should be used for specific features or bug fixes. - New branches should be created from the `main` branch and `conductor` branch. - The conductor should always use the `conductor` branch and derived branches. - When a feature or fix is complete, use rebase to keep the commit history clean before merging. - The conductor related changes should never be merged into the `main` branch.