A professional-grade event ticketing platform built with Elixir & Phoenix 🚀
Ticketify is a multi-tenant festival ticket selling platform designed for professional event organizers. The application handles the complete ticket sales lifecycle from event creation to ticket delivery, featuring real-time admin dashboards, secure QR code generation, and automated email delivery.
Key Features:
- 🎪 Multi-tenant architecture with complete data isolation per festival organizer
- 🎟️ Digital ticket generation with secure QR codes for validation
- 📧 Automated ticket delivery via email with PDF attachments
- 📊 Real-time admin dashboards built with Phoenix LiveView
- 🔒 Comprehensive security with authentication and authorization
- ⚡ High-performance async processing for ticket generation and email delivery
- 🐳 Containerized development environment with Docker Compose
- Elixir ~> 1.15
- Phoenix ~> 1.8
- PostgreSQL 15
- Docker & Docker Compose (recommended)
# Start with Docker (recommended)
docker-compose up
# Or run locally
mix setup
mix phx.serverVisit localhost:4000 to see the application! 🎉
Run the complete CI pipeline locally before committing:
# Linux/Mac/WSL
./bin/pre-commit.sh
# PowerShell
./bin/pre-commit.ps1
# Windows Command Prompt
./bin/pre-commit.bat
# Or use mix aliases
mix quality # All quality checks
mix quality.ci # Quality checks + testsThis project demonstrates professional Elixir development practices:
- 🏗️ Multi-tenant Architecture: Complete data isolation per organization
- ⚡ Concurrent Processing: Handle multiple simultaneous ticket purchases
- 📬 Background Jobs: Async email delivery, QR generation, PDF creation
- 📊 Real-time Dashboards: Phoenix LiveView for live admin interfaces
- 🔒 Security First: Comprehensive authentication, authorization, and security scanning
- 🚀 CI/CD Pipeline: Automated testing, linting, security analysis, and deployment validation
- 🐳 Containerized: Docker development environment with hot reloading
- Static Analysis: Credo for code consistency and best practices
- Type Safety: Dialyzer for catching type errors and dead code
- Security: Sobelow security analysis for Phoenix applications
- Testing: Comprehensive test suite with coverage reporting
- Documentation: Generated with ExDoc for all public APIs
Built with ❤️ using Elixir & Phoenix