AI-powered learning platform that transforms your videos, audio, and text into summaries, transcripts, quizzes, and interactive learning experiences.
- AI Transcription: Automatically transcribe videos and audio using OpenAI Whisper
- Smart Summarization: Get concise summaries with key bullet points powered by GPT-4
- Quiz Generation: Auto-generate quizzes from your content
- Interactive Q&A: Ask questions about your content and get instant answers
- Collection Management: Organize your media into collections
- Multi-format Support: Videos, audio files, text, and YouTube URLs
- Framework: FastAPI (Python 3.11+)
- Database: PostgreSQL with SQLAlchemy 2.0 (async)
- Object Storage: MinIO (S3-compatible)
- AI: OpenAI GPT-4 & Whisper API
- Package Manager: uv
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS + shadcn/ui
- State Management: TanStack Query + Zustand
- Containerization: Docker Compose
- Database: PostgreSQL 16
- Storage: MinIO
- Docker and Docker Compose
- Node.js 20+
- Python 3.11+
- uv (Python package manager)
-
Clone the repository
git clone https://github.com/yourusername/Briefly2.0.git cd Briefly2.0 -
Set up environment variables
# Copy example env file cp .env.example .env # Edit .env and add your OpenAI API key OPENAI_API_KEY=your-api-key-here
-
Start infrastructure services
make dev # This starts PostgreSQL and MinIO -
Install dependencies and start backend
# In a new terminal cd backend uv sync make dev-backend
-
Start frontend
# In another terminal cd frontend npm install npm run dev
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- MinIO Console: http://localhost:9001 (admin/minioadmin)
# Start all services
docker compose up -d
# View logs
docker compose logs -f
# Stop services
docker compose downbriefly/
├── backend/
│ ├── app/
│ │ ├── api/routes/ # API endpoints
│ │ ├── core/ # Config, database, storage
│ │ ├── models/ # SQLAlchemy models
│ │ └── schemas/ # Pydantic schemas
│ ├── alembic/ # Database migrations
│ ├── pyproject.toml # Python dependencies (uv)
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── app/ # Next.js pages
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom hooks
│ │ └── lib/ # Utilities & API client
│ ├── package.json
│ └── Dockerfile
├── docker-compose.yml
├── Makefile
└── README.md
| Endpoint | Method | Description |
|---|---|---|
/api/collections |
GET/POST | List/Create collections |
/api/collections/{id} |
GET/PUT/DELETE | Collection CRUD |
/api/media |
GET/POST | List/Upload media |
/api/media/{id} |
GET/PUT/DELETE | Media CRUD |
/api/ai/media/{id}/transcribe |
POST | Transcribe media |
/api/ai/media/{id}/summarize |
POST | Generate summary |
/api/ai/media/{id}/quiz |
POST | Generate quiz |
/api/ai/media/{id}/chat |
POST | Q&A on content |
# Database
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/briefly
# MinIO
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET_NAME=briefly-media
# OpenAI
OPENAI_API_KEY=your-api-key
# Backend
SECRET_KEY=your-secret-key
BACKEND_CORS_ORIGINS=["http://localhost:3000"]
# Frontend
NEXT_PUBLIC_API_URL=http://localhost:8000# Start services
make dev # Start PostgreSQL & MinIO
make dev-backend # Start backend with hot reload
make dev-frontend # Start frontend dev server
# Database
make migrate # Run migrations
make migrate-create # Create new migration
# Docker
make up # Start all containers
make down # Stop containers
make logs # View logs
make clean # Remove containers and volumesMIT License - see LICENSE for details.
The original Django + React version (2021) is preserved in the Briefly/ directory for reference.