A production-quality B2B SaaS application for extracting insights from meeting transcripts.
- Backend: FastAPI + PostgreSQL + NLP/LLM processing
- Web Admin: React + TypeScript + Vite
- iOS App: Swift + SwiftUI
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your database URL and API keys
uvicorn app.main:app --reloadSee backend/README.md for detailed instructions.
cd web-admin
npm install
cp .env.example .env
# Edit .env with your backend API URL
npm run devSee web-admin/README.md for detailed instructions.
- Open
ios-app/MeetingInsights.xcodeprojin Xcode - Configure signing in Xcode
- Update API base URL in
ios-app/MeetingInsights/Config.swift - Build and run
See ios-app/README.md for detailed instructions.
-
Start PostgreSQL (via Docker Compose or local install):
cd infra docker-compose up -d -
Start backend API server:
cd backend source venv/bin/activate uvicorn app.main:app --reload
-
Start web admin dev server:
cd web-admin npm run dev -
Open iOS app in Xcode simulator or device
Before integrating with the full app, test file uploads work:
# Test backend upload endpoint
curl -X POST "http://YOUR_API_URL/health/upload-test" \
-F "file=@/path/to/test.mp3"This helps verify:
- CORS configuration
- URL routing
- File field name matching
- File transfer works correctly
cd backend
pytest tests/meeting-insights/
├── backend/ # FastAPI application
├── web-admin/ # React admin dashboard
├── ios-app/ # Swift iOS application
├── infra/ # Docker, deployment configs
└── README.md # This file