DocAssistant is a full-stack document intelligence SaaS prototype. Users can upload documents, organize them by workspace, ask questions over document content, and manage AI-assisted document workflows from a dashboard.
- FastAPI backend with modular routers for authentication, workspaces, documents, chat, and admin flows
- Next.js dashboard with protected routes for documents, chat, workspace settings, and admin views
- Document ingestion services for PDF/text extraction, chunking, embeddings, and vector search
- PostgreSQL persistence with SQLAlchemy models and seed/init SQL
- Qdrant vector search, Redis, and optional S3-compatible storage through Docker Compose
- JWT authentication, role-aware workspace concepts, and document status tracking
- Streaming-style chat flow designed around retrieval augmented generation
| Area | Tools |
|---|---|
| Frontend | Next.js, React, TypeScript, CSS modules/global CSS |
| Backend | FastAPI, Python, SQLAlchemy, Pydantic |
| AI and search | OpenAI, LangChain, Qdrant |
| Data and infra | PostgreSQL, Redis, Docker Compose, Nginx |
| Document processing | PyMuPDF, pdfplumber, pytesseract, Pillow |
backend/
app/
api/v1/ Auth, document, chat, workspace, and admin routes
core/ Config, database, and security utilities
models/ SQLAlchemy entities
schemas/ Pydantic request/response models
services/ Document processing, embeddings, storage, LLM, vector store
frontend/
app/ Next.js app routes and dashboard pages
lib/ API client, auth, workspace state
infrastructure/
nginx/ Reverse proxy config
postgres/ Database initialization
docker-compose.yml Local multi-service environment
Copy the environment template and fill in local values:
cp .env.example .envStart the full stack:
docker compose up --buildUseful local URLs:
- Frontend:
http://localhost - API docs:
http://localhost:8000/api/docs - Qdrant:
http://localhost:6333
For separate development:
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000cd frontend
npm install
npm run devThis project is best presented as a document AI platform prototype: dashboard UX, RAG-oriented backend services, workspace-based data modeling, and Dockerized infrastructure. Add screenshots for the dashboard, document upload flow, and chat page before linking it from the portfolio.