This is the main source code repository for doc0, an AI-powered documentation chat interface that allows users to interact with technical documentation giving accurate results.
- Smart Documentation Search: Leverages ChromaDB for semantic search across multiple framework documentations
- Multi-Framework Support: Currently supports Kestra, React, Next.js, Astro, and Redux documentation
- Accurate results: Give accurate results with latest documentation including source links
- Authentication Google OAuth integration with request limiting for free users
- Took all the servers downs there are costing too much
- But i was a good experience
- Clone the repository
- Follow the Installation Guide
- Start developing with
npm run dev
for frontend anduvicorn main:app --reload
for backend
- Node.js (v18+)
- Python (v3.8+)
- Google OAuth credentials
- Gemini API key
- ChromaDB server
-
Clone & Navigate
git clone https://github.com/sreehariX/doc0 cd frontend
-
Install Dependencies
npm install
-
Configure Environment Variables Create a
.env
file in the frontend directory:VITE_GOOGLE_CLIENT_ID=your_google_client_id
-
Start Development Server
npm run dev
-
Navigate to Backend Directory
cd fastapi
-
Create & Activate Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Configure Environment Variables Create a
.env
file in the backend directory:GEMINI_API_KEY=your_gemini_api_key CHROMA_SERVER_HOST=your_chromadb_server_url
-
Start Development Server
uvicorn main:app --reload
- Semantic search powered by ChromaDB
- Support for multiple framework documentations
- Gives most accurate summary response
- Google OAuth integration
- 10 free requests per day for non-authenticated users
- Unlimited requests for authenticated users until we run out of google credits
- Responsive design for all devices
- Code syntax highlighting
- React with TypeScript
- Tailwind CSS for styling
- Framer Motion for animations
- Zustand for state management
- FastAPI
- ChromaDB for vector search
- Google Gemini AI for response generation
- Python scrapers for documentation collection
- Kestra is hosted on azure vm 16gb 2vcpu using docker
- Chromadb is also hosted on azure vm 16gb 2vcpu using docker
- Fastapi is hosted on azure vm 8gb 2vcpu using apache server for configuration
- Frontend vite+react+typescript is deployed on vercel
- By using kestra we are automating the vectore embedding proecess
- Whenever i upload a file in azure blob storage it will trigger kestra to run a flow
- The flow execution will connect to chromadb server and make the chromadb embedded collection of the csv file
The project includes custom scrapers for:
- React documentation
- Next.js documentation
- Redux documentation
- Astro documentation
- Kestra documentation
Each scraper out is csv file using that you can embed in vector database.
We welcome contributions! Please see commit your messages properly
MIT License