π Table of Contents
- π€ Introduction
- βοΈ Tech Stack
- π Features
- π οΈ Architecture
- π€Έ Getting Started
- π Project Structure
Checkout the backend code: Docugenie Backend
DocuGenie is an AI-powered chat assistant that helps you extract insights, summarize content, analyze PDF documents and other file formats, generate diagrams and visualizations, create comprehensive plans, perform agentic tasks, and generate AI-powered documents. It provides intelligent document processing capabilities including text extraction, content analysis, automated summarization, diagram generation, planning assistance, and AI document creation.
- Next.js - React framework for server-side rendering and routing
- React.js - Component-based UI library
- Tailwind CSS - Utility-first CSS framework for styling
- shadcn/ui - Accessible UI component library
- Python >=3.10 - Programming language
- FastAPI - Modern web framework with async support
- Pydantic - Data validation and settings management
- SQLAlchemy - Database ORM and management
- Alembic - Database migrations
- PostgreSQL - Primary database system
- FAISS - Vector similarity search and clustering
- LangChain - AI model integration and RAG pipelines
- Google Gemini - Primary LLM for text generation
- HuggingFace - Embedding models and transformers
- OpenAI - Alternative LLM provider
- Docker - Containerization
- Poetry - Python dependency management
- pnpm - JavaScript/TypeScript package manager
- Prettier - Code formatter for frontend codebase
- ESLint - JavaScript/TypeScript linting
- Jest - JavaScript/TypeScript testing framework
- Pytest - Python testing framework
- Ruff - Python code linting and formatting
- π Multi-format document support (PDF, DOCX, TXT)
- π Intelligent text extraction and parsing
- π§ AI-powered content analysis and summarization
- π Automated diagram and visualization generation (Coming Soon...)
- π¬ Context-aware document conversations
- π Semantic search across document collections
- π AI-powered document creation and editing (Coming Soon...)
- π― Agentic task execution (Coming Soon...)
- ποΈ PostgreSQL with SQLAlchemy ORM
- π Alembic database migrations
- π FastAPI with high-performance endpoints
- π Pydantic models for robust data validation
- π FAISS vector database for efficient similarity search
- β‘ Next.js for fast server-side rendering and routing
- βοΈ Modular component architecture with React.js
- π shadcn/ui for accessible, modern UI components
- π¨ Tailwind CSS for utility-first, customizable styling
- π οΈ TypeScript support for type-safe frontend development
- β»οΈ pnpm for efficient JavaScript/TypeScript package management
- π§ͺ Jest for robust frontend testing
- β¨ Prettier & ESLint for consistent code style and linting
The system leverages LangChain AI models, FAISS vector database, and RAG (Retrieval-Augmented Generation) pipeline to provide intelligent document analysis and conversational interactions.
The document processing pipeline transforms raw documents into searchable, intelligent knowledge bases:
Key Components:
- Parser & Tokenizer: Extracts text content and breaks it into manageable chunks
- LangChain AI Models: Generates embeddings using state-of-the-art language models
- FAISS Vector Database: Stores and indexes vectors for efficient similarity search
- Metadata Database: Maintains document metadata, chunk references, and user sessions
The chat system provides intelligent, context-aware responses using retrieved document knowledge:
Key Components:
- Chat Orchestrator: Manages conversation flow, session context, and query understanding
- RAG Pipeline: Retrieves relevant document chunks using vector similarity search
- FAISS Vector DB: Provides fast and accurate semantic search capabilities
- Prompt Manager: Optimizes prompts with context injection and formatting guidelines
- LangChain AI: Generates intelligent responses using retrieved context
- Node.js >= v22.0
- pnpm >= v10.0.0
- Clone the repository
git clone https://github.com/imtiaj-007/docugenie-frontend.git
cd docugenie-frontend- Install dependencies
pnpm install- Available Commands
Run these commands from the project root:
| Script | Command | Description |
|---|---|---|
| Development | pnpm dev |
Start Next.js dev server (Turbopack) |
| Production Build | pnpm build |
Build optimized production bundle (Turbopack) |
| Start | pnpm start |
Start Next.js production server |
| Type Checking | pnpm type-check |
Run TypeScript type checks |
| Lint (Check) | pnpm lint:check |
Run ESLint (no fixes) |
| Lint (Fix) | pnpm lint:fix |
Run ESLint with autofix |
| Format (Check) | pnpm format:check |
Check code formatting with Prettier |
| Format (Fix) | pnpm format:fix |
Format code with Prettier |
For example, to start the dev server:
pnpm devTo run type checks and lint:
pnpm type-check
pnpm lint:check
pnpm format:checkFor a full list, see the scripts section of package.json.
docugenie-frontend/
βββ .github/ # CI/CD workflows, GitHub configs
β βββ workflows
βββ .vscode/ # VSCode settings and recommendations
β βββ settings.json
β βββ extensions.json
βββ public # Static assets (images, diagrams, etc.)
βββ src/ # Main frontend source code
β βββ app # Next.js app directory (routing, pages, layout)
β βββ components # Reusable React UI components
β βββ hooks # Custom React hooks
β βββ lib # Utilities, helpers, and shared logic
β βββ services # API clients and business logic
β βββ store # Zustand stores (state management)
βββ .gitignore
βββ .prettierignore
βββ .prettierrc
βββ commitlint.config.ts
βββ eslint.config.mjs
βββ lint-staged.config.js
βββ next.config.ts
βββ package.json
βββ README.md
βββ LICENSEOnce the application is running, access the interactive API docs:
- Swagger UI: https://docugenie-backend.up.railway.app/docs
- ReDoc: https://docugenie-backend.up.railway.app/redoc
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
CC BY-NC-SA 4.0 β Non-commercial use only. Credit required. Derivatives must be shared alike. Check Details here.