Skip to content

Alexandrgourin/docai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DocAI — ChatFirst AI ECM System

AI-powered document management system where chat with AI agent is the primary interface.

Quick Start

Prerequisites

  • Docker & Docker Compose
  • Python 3.12+ & uv
  • Node.js 20+

1. Clone & Configure

cp .env.example .env
# Edit .env — set LLM_API_KEY (Anthropic key for Claude)

2. Start Infrastructure

docker compose up -d postgres redis minio elasticsearch

3. Backend

cd backend
uv sync --dev
uv run alembic upgrade head    # Run migrations
uv run python -m app.seed      # Seed demo data
uv run uvicorn app.main:app --reload --port 8000

4. Frontend

cd frontend
npm install
npm run dev    # http://localhost:3000

5. Demo Login

Docker Compose (all-in-one)

docker compose up
# Backend: http://localhost:8000
# Frontend: http://localhost:3000
# MinIO Console: http://localhost:9001

Architecture

  • Backend: Python 3.12, FastAPI, SQLAlchemy 2.0, LangGraph
  • Frontend: React 18, TypeScript, Vite, TailwindCSS, shadcn/ui
  • AI: LangGraph supervisor + sub-agents, LiteLLM (pluggable LLM)
  • Data: PostgreSQL 16 + pgvector, Redis 7, MinIO (S3), Elasticsearch 8
  • Multi-tenant: PostgreSQL RLS, JWT-based tenant isolation

API

  • POST /api/v1/auth/register — Register
  • POST /api/v1/auth/login — Login
  • GET /api/v1/auth/me — Current user
  • POST /api/v1/chat/message — Send chat message
  • POST /api/v1/chat/stream — SSE streaming chat
  • GET /api/v1/documents — List documents
  • POST /api/v1/documents — Create document
  • POST /api/v1/documents/{id}/upload — Upload file
  • GET /health — Health check

Development

make test         # Run tests
make lint         # Lint backend + frontend
make format       # Format code
make migrate      # Run DB migrations

License

Proprietary

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors