{"id":28275204,"url":"https://github.com/degisew/event_ticketing_fastapi","last_synced_at":"2026-04-20T03:02:07.173Z","repository":{"id":293865636,"uuid":"958492898","full_name":"degisew/event_ticketing_fastapi","owner":"degisew","description":"An advanced Online Event Ticketing System that enables users to seamlessly browse, book, and manage event tickets. Designed for organizers to create and manage events, and for attendees to easily purchase tickets and track their bookings.","archived":false,"fork":false,"pushed_at":"2025-06-15T19:22:53.000Z","size":92,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"development","last_synced_at":"2025-06-15T21:01:59.168Z","etag":null,"topics":["alembic","docker","docker-compose","fastapi","python3","sqlalchemy"],"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/degisew.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2025-04-01T09:35:26.000Z","updated_at":"2025-06-15T19:22:45.000Z","dependencies_parsed_at":"2025-06-06T21:35:38.589Z","dependency_job_id":null,"html_url":"https://github.com/degisew/event_ticketing_fastapi","commit_stats":null,"previous_names":["degisew/event_ticketing_fastapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/degisew/event_ticketing_fastapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degisew%2Fevent_ticketing_fastapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degisew%2Fevent_ticketing_fastapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degisew%2Fevent_ticketing_fastapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degisew%2Fevent_ticketing_fastapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/degisew","download_url":"https://codeload.github.com/degisew/event_ticketing_fastapi/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degisew%2Fevent_ticketing_fastapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32031070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["alembic","docker","docker-compose","fastapi","python3","sqlalchemy"],"created_at":"2025-05-21T03:13:42.625Z","updated_at":"2026-04-20T03:02:07.151Z","avatar_url":"https://github.com/degisew.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Event Ticket Reservation\n\n\u003cdiv align=\"center\"\u003e\n\n\u003c!-- ![Project Logo](https://via.placeholder.com/150x150/0066cc/ffffff?text=LOGO) --\u003e\n\n**A scalable event ticket booking platform built with modern backend technologies**\n\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Python](https://img.shields.io/badge/Python-3.12+-blue.svg)](https://python.org)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.115+-brightgreen.svg)](https://fastapi.tiangolo.com)\n[![Docker](https://img.shields.io/badge/Docker-20.10+-blue.svg)](https://docker.com)\n\n**Contact**: [degisew.mengist21@gmail.com](mailto:degisew.mengist21@gmail.com) | [LinkedIn](https://linkedin.com/in/degisew-mengist)\n\n\u003c/div\u003e\n\n## Overview\n\nAn advanced Online Event Ticketing System that enables users to seamlessly browse, book, and manage event tickets. Designed for organizers to create and manage events, and for attendees to easily purchase tickets and track their bookings.\n\n**Key Features**:\n\n- Secure JWT authentication and role-based access control.\n- Containerized deployment with Docker.\n- Background task processing with FastAPI BackgroundTask.\n- QR code ticket generation and sending them through email.\n- Ticket booking before payment with expiration time.\n\n\u003c!-- **Links**:\n\n- **Portfolio**: [Portfolio](https://degisew-portfolio.netlify.com)\n- **GitHub**: [GitHub](https://github.com/degisew)\n- **LinkedIn**: [LinkedIn](https://linkedin.com/in/degisew-mengist) --\u003e\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Quick Start](#quick-start)\n- [Project Structure](#project-structure)\n- [Setup](#setup)\n- [API Reference](#api-reference)\n- [Architecture](#architecture)\n  \u003c!-- - [Testing](#testing) --\u003e\n- [Deployment](#deployment)\n\n## Quick Start\n\n```bash\n# Clone the repo\ngit clone https://github.com/degisew/event_ticketing_fastapi.git\ncd event_ticketing_fastapi\n\n# Run with Docker\ndocker-compose up --build\n\n# OR run locally\npython -m venv venv\nsource venv/bin/activate  # Windows: venv\\Scripts\\activate\npip install -r requirements/dev.txt\nfastapi dev main.py\n```\n\n**Access**: [http://localhost:8000](http://localhost:8000) for API, [http://localhost:8000/docs](http://localhost:8000/docs) for API docs.\n\n## Project Structure\n\n```bash\n├── alembic/               # Alembic migrations Configurations\n├── docker\n│     └── dev/          \n│          └── Dockerfile # FastAPI API Dockerfile for development environment\n├── src/                  # Custom Apps collection\n├── docs/                 # Documentation files\n├── scripts/              # Custom scripts\n├── .env                  # Environment variables (you will create this)\n├── compose.yaml          # Docker Compose configuration file\n└── README.md             # This README file\n```\n\n## Setup\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eShow Setup Details\u003c/strong\u003e\u003c/summary\u003e\n\n### Prerequisites\n\n- Python 3.10+\n- Docker 20.10+ \u0026 Docker Compose 1.29+\n- PostgreSQL 14+ (for local setup)\n- Git 2.30+\n\n### Instructions\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone https://github.com/degisew/event_ticketing_fastapi.git\n   cd event_ticketing_fastapi\n   ```\n\n2. **Configure Environment**:\n\n   ```bash\n   Create a .env file with-in your root project directory and store secure values.\n   ```\n\n   Example `.env`:\n\n   ```bash\n   # Database\n   POSTGRES_USER=your_db_user\n   POSTGRES_PASSWORD=your_db_password\n   POSTGRES_DB=your_db_name\n\n   # FastAPI\n   SECRET_KEY=your_secret_key\n   ALGORITHM=HS256\n\n   # Optional: pgAdmin\n   PGADMIN_DEFAULT_EMAIL=admin@example.com\n   PGADMIN_DEFAULT_PASSWORD=your_pgadmin_password\n   ```\n\n3. **Run the Application**:\n   - **Docker (Recommended)**:\n\n     ```bash\n     docker-compose up --build\n     ```\n\n   - **Local Development**:\n\n     ```bash\n     python -m venv venv\n     source venv/bin/activate\n     pip install -r requirements/dev.txt\n     fastapi dev main.py\n     ```\n\n4. **Access Services**:\n   - API: [http://localhost:8000](http://localhost:8000)\n   - API Docs: [http://localhost:8000/docs](http://localhost:8000/docs)\n   - pgAdmin (if included): [http://localhost:8001](http://localhost:8001)\n\n\u003c/details\u003e\n\n## API Reference\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eShow API Reference\u003c/strong\u003e\u003c/summary\u003e\n\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `/api/v1/account/users` | POST | Register a new user |\n| `/api/v1/account/users/profile/edit` | PATCH | Update current user profile |\n| `/api/v1/events` | GET | List all events |\n| `/api/v1/events` | POST | Create a new event |\n| `/api/v1/events/{id}/reservations` | POST | Reserve a ticket for a specific event |\n| `/api/v1/reservations/{id}/payments` | POST | Create Payment for a current user reservations|\n| `/api/v1/reservations/me` | GET | Get all reservations for a current user|\n| `/api/v1/event/{id}/ticket_types` | GET | List all available ticket types for a specific event |\n\n**Full Docs**: [http://localhost:8000/docs](http://localhost:8000/docs)\n\n\u003c/details\u003e\n\n## Architecture\n\n**Tech Stack**:\n\n- **Backend**: FastAPI for RESTful APIs\n- **Database**: PostgreSQL\n- **DevOps**: Docker, Docker-compose\n\n\u003c!-- ## Testing\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eShow Testing Details\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\n# Run tests With coverage\ndocker compose exec api pytest\n\n- 85%+ test coverage with `pytest` and `coverage.py`.\n- Includes unit tests (models, utilities) and integration tests (API endpoints).\n```\n\n\u003c/details\u003e --\u003e\n\n## Deployment\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eShow Deployment Details\u003c/strong\u003e\u003c/summary\u003e\n\n### Production\n\n```bash\n\n# Run with Docker Compose\ndocker-compose -f compose.prod.yaml up -d\n```\n\n### Environment Variables\n\n```bash\nDATABASE_URL=postgresql://user:pass@host:5432/db\nREDIS_URL=redis://host:6379/0\nSECRET_KEY=your-secret-key\nALLOWED_HOSTS=your-domain.com\n```\n\n\u003c/details\u003e\n\n## License\n\nMIT License. See [LICENSE](LICENSE).\n\n\u003cdiv align=\"center\"\u003e\n\n**⭐ Star this repo if you found it useful!**\n\nBuilt by [Degisew Mengist](https://github.com/degisew)\n\n[⬆ Back to Top](#event-ticket-reservation)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdegisew%2Fevent_ticketing_fastapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdegisew%2Fevent_ticketing_fastapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdegisew%2Fevent_ticketing_fastapi/lists"}