This project is a full-stack web application that allows users to upload notes, generate AI-powered summaries, and extract actionable items using OpenAI's API. Character recognition with Tesseract OCR allows multimodal support with images and rich text formats.
- Frontend: React, Tailwind CSS, TypeScript
- Backend: FastAPI (Python)
- Database: PostgreSQL (via SQLAlchemy), Alembic Database Migration
- AI Integration: OpenAI GPT-4.1 Nano, Vercel AI SDK, Tesseract OCR
- Containerization: Docker & Docker Compose
This project uses Docker for simplified setup and consistency across environments.
| Tool | Purpose | How to Check |
|---|---|---|
| Docker | Containerization engine | docker --version |
| Docker Compose | Manages multi-container setup | docker compose version |
git clone https://github.com/cenevan/note-summarizer.git
cd note-summarizercp backend/.env.example backend/.envBuild and run all services:
docker-compose up --build- Frontend: http://localhost:3000
- API Docs: http://localhost:8000/docs
Local Setup (Non-Docker)
Before using manual setup, ensure the following tools are installed:
| Tool | Purpose | How to Check |
|---|---|---|
| Python 3.x | Backend runtime & virtual environment | python3 --version |
| pip | Install Python packages (requirements.txt) |
pip --version |
| Node.js & npm | Frontend package manager | npm --version |
| make | Runs setup/dev tasks via Makefile |
make --version |
Windows users can install
makeusing WSL or Git Bash.
Follow step 2 from above.
cd backend
make setup
make runOpen a new terminal window and run:
cd frontend
make install
make build
make start- Frontend: http://localhost:5173
- API Docs: http://localhost:8000/docs