25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
# 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.
|