How anil29717/deepdoc works
DeepDoc AI lets users upload PDFs, organize them into folders, and ask questions over individual documents or folder collections. Its main flow runs from the React app through FastAPI document processing and RAG retrieval/generation, with MySQL for application records and ChromaDB for vectors. The graph also captures authentication and admin capabilities. Some backend routes are excerpted only in part, so edges for documented but unsampled chat and storage behavior cite the README rather than implying those route bodies were inspected.
Main entry points: main.py API routes · rag_engine.py RAG orchestration · api.js API client · App.jsx App and chat UI
Components 14
Web application
- App and chat UI
frontend/src/App.jsx - Login and signup
frontend/src/pages/LoginPage.jsx - Admin dashboard
frontend/src/pages/AdminDashboard.jsx - Session context
frontend/src/context/AuthContext.jsx - API client
frontend/src/services/api.js
Backend API
- API routes
backend/main.py - JWT security
backend/auth.py - Domain records
backend/models.py
Document intelligence
- PDF extraction
backend/services/pdf_processor.py - RAG orchestration
backend/services/rag_engine.py
Persistence and providers
- MySQL records
backend/database.py - Vector index
chroma_db/chroma.sqlite3
Other components
- User
- Groq LLM
Connections 16
- User → App and chat UI: uses
README.md - App and chat UI → API client: sends requests
frontend/src/App.jsx - App and chat UI → Session context: checks session
frontend/src/App.jsx - Login and signup → Session context: submits credentials
frontend/src/pages/LoginPage.jsx - Session context → API client: calls auth routes
frontend/src/context/AuthContext.jsx - Admin dashboard → API client: calls admin routes
frontend/src/pages/AdminDashboard.jsx - API client → API routes: calls API
frontend/src/services/api.js - API routes → JWT security: checks protected routes
backend/main.py - API routes → Domain records: queries records
backend/main.py - API routes → MySQL records: uses sessions
backend/database.py - Domain records → MySQL records: maps records
backend/models.py - API routes → PDF extraction: processes uploads
backend/main.py - PDF extraction → RAG orchestration: provides chunks
- API routes → RAG orchestration: handles RAG queries
README.md - RAG orchestration → Vector index: stores and searches vectors
backend/services/rag_engine.py - RAG orchestration → Groq LLM: generates answers
backend/services/rag_engine.py