{"id":32892371,"url":"https://github.com/rachigh/meeting-report-generator","last_synced_at":"2026-04-14T15:31:33.604Z","repository":{"id":323217106,"uuid":"1092507459","full_name":"rachigh/meeting-report-generator","owner":"rachigh","description":"AI-powered meeting transcription and report generation API","archived":false,"fork":false,"pushed_at":"2025-11-08T19:39:28.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-08T21:13:44.189Z","etag":null,"topics":["ai","api","fastapi","gpt-4","meeting-notes","nlp","openai","python","report-generator","speech-to-text","transcription","whisper"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rachigh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-08T18:52:15.000Z","updated_at":"2025-11-08T19:39:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rachigh/meeting-report-generator","commit_stats":null,"previous_names":["rachigh/meeting-report-generator"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rachigh/meeting-report-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rachigh%2Fmeeting-report-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rachigh%2Fmeeting-report-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rachigh%2Fmeeting-report-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rachigh%2Fmeeting-report-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rachigh","download_url":"https://codeload.github.com/rachigh/meeting-report-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rachigh%2Fmeeting-report-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31803183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","api","fastapi","gpt-4","meeting-notes","nlp","openai","python","report-generator","speech-to-text","transcription","whisper"],"created_at":"2025-11-10T05:01:21.955Z","updated_at":"2026-04-14T15:31:33.599Z","avatar_url":"https://github.com/rachigh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  Meeting Report Generator\n\n[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.110+-green.svg)](https://fastapi.tiangolo.com/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAI-powered meeting transcription and intelligent report generation using OpenAI Whisper and GPT-4.\n\n##  Features\n\n- **Audio Transcription** - Automatic speech-to-text with OpenAI Whisper\n- **Intelligent Summarization** - AI-powered analysis with GPT-4\n- **Structured Extraction** - Auto-detect topics, decisions, and action items\n- **Multi-format Export** - Generate PDF and Markdown reports\n- **RESTful API** - 9 production-ready endpoints\n- **Docker Support** - Containerized deployment\n\n##  Quick Start\n\n### Prerequisites\n\n- Python 3.11+\n- OpenAI API Key ([Get one here](https://platform.openai.com/api-keys))\n\n### Installation\n```bash\n# Clone repository\ngit clone https://github.com/rachigh/meeting-report-generator.git\ncd report-generator\n\n# Run setup script\nchmod +x setup.sh\n./setup.sh\n\n# Configure API key\n# Edit .env and add: OPENAI_API_KEY=sk-proj-your-key-here\n\n# Launch application\npython main.py\n```\n\nAccess the API at **http://localhost:8000/docs**\n\n##  Usage\n\n### Generate Complete Report\n```bash\ncurl -X POST \"http://localhost:8000/reports/generate\" \\\n  -F \"file=@meeting.mp3\" \\\n  -F \"language=en\"\n```\n\n### Download Reports\n```bash\n# PDF\ncurl \"http://localhost:8000/reports/1/download/pdf\" -o report.pdf\n\n# Markdown\ncurl \"http://localhost:8000/reports/1/download/markdown\" -o report.md\n```\n\n### Python Example\n```python\nimport requests\n\n# Generate report\nwith open(\"meeting.mp3\", \"rb\") as f:\n    response = requests.post(\n        \"http://localhost:8000/reports/generate\",\n        files={\"file\": f},\n        params={\"language\": \"en\"}\n    )\n\nreport = response.json()\nprint(f\"Summary: {report['summary']}\")\n```\n\n##  Architecture\n```\nreport-generator/\n├── app/\n│   ├── api/              # API endpoints\n│   ├── services/         # Business logic (Whisper, GPT-4, PDF)\n│   ├── models/           # Database models\n│   └── schemas/          # Pydantic validation\n├── tests/                # Unit tests\n├── uploads/              # File storage\n└── main.py              # Entry point\n```\n\n##  Tech Stack\n\n- **FastAPI** - Modern async web framework\n- **OpenAI** - Whisper (transcription) \u0026 GPT-4 (summarization)\n- **SQLAlchemy** - Async ORM with Alembic migrations\n- **ReportLab** - PDF generation\n- **Docker** - Containerization\n\n##  API Endpoints\n\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `/reports/generate` | POST | Upload audio + generate report |\n| `/reports/{id}/download/pdf` | GET | Download PDF report |\n| `/reports/{id}/download/markdown` | GET | Download Markdown report |\n| `/reports/` | GET | List all reports |\n| `/reports/{id}` | GET | Get specific report |\n| `/reports/{id}` | DELETE | Delete report |\n\nFull API documentation: http://localhost:8000/docs\n\n##  Configuration\n\nCreate `.env` file:\n```env\n# Required\nOPENAI_API_KEY=sk-proj-your-key-here\n\n# Optional\nDB_ENGINE=sqlite              # or postgresql\nDEBUG=true\nMAX_UPLOAD_SIZE=52428800     # 50MB\n```\n\n**Supported audio formats:** MP3, WAV, M4A, OGG, WebM  \n**Supported languages:** 99+ languages (English, French, Spanish, German, etc.)\n\n##  Docker Deployment\n```bash\ndocker-compose up --build\n```\n\n##  Testing\n```bash\npytest tests/\n```\n\n##  License\n\nMIT License - see [LICENSE](LICENSE) file.\n\n##  Acknowledgments\n\n- [OpenAI Whisper](https://openai.com/research/whisper) - Transcription\n- [OpenAI GPT-4](https://openai.com/gpt-4) - Summarization\n- [FastAPI](https://fastapi.tiangolo.com/) - Framework\n\n---\n\n**Built with FastAPI and OpenAI APIs**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frachigh%2Fmeeting-report-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frachigh%2Fmeeting-report-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frachigh%2Fmeeting-report-generator/lists"}