event-booking-frontend
v1.6.0
Published
A multi-tenancy event booking application
Readme
Detty Rave - Event Booking System

🎉 Event Details
- Event: Untamed Empire — Detty Rave
- Date: December 27, 2025
- Venue: Untamed Empire, Accra, Ghana
- Ticket Types: Regular (300 GHS), VIP (500 GHS)
- Payment: Card-only with Mastercard 5% discount
🏗️ System Architecture
This is a production-ready event booking platform with three main components:
- Frontend - React/TypeScript booking interface
- Backend - Node.js/TypeScript REST API
- Mobile Validator - Android QR scanner app
- Admin Portal - Management dashboard
📦 Tech Stack
- Frontend: React 18, TypeScript, Tailwind CSS, Vite
- Backend: Node.js, Express, TypeScript, OpenAPI
- Database: Azure Cosmos DB (NoSQL)
- Payment: Card payment integration with Mastercard promo
- Mobile: React Native (Android)
- Infrastructure: Azure App Service, GitHub Actions CI/CD
- Monitoring: Structured logging, audit trails
🚀 Quick Start
Prerequisites
- Node.js 18+
- Azure account with Cosmos DB
- Git
Installation
# Clone repository
git clone <repo-url>
cd detty-rave
# Install dependencies
npm install
# Setup environment variables
cp .env.example .env
# Edit .env with your Azure credentials
# Run backend
cd backend
npm run dev
# Run frontend (new terminal)
cd frontend
npm run dev
# Run mobile validator
cd mobile-validator
npm run android📁 Project Structure
detty-rave/
├── frontend/ # React booking interface
├── backend/ # Node.js API server
├── mobile-validator/ # Android QR scanner
├── infrastructure/ # Azure deployment templates
├── docs/ # Documentation & wireframes
├── .github/workflows/ # CI/CD pipelines
└── README.md🔑 Environment Variables
Backend (.env)
NODE_ENV=development
PORT=3000
COSMOS_DB_ENDPOINT=<your-endpoint>
COSMOS_DB_KEY=<your-key>
COSMOS_DB_DATABASE=detty-rave
JWT_SECRET=<your-secret>
PAYMENT_API_KEY=<payment-provider-key>
EMAIL_API_KEY=<email-service-key>
SMS_API_KEY=<sms-service-key>Frontend (.env)
VITE_API_URL=http://localhost:3000
VITE_ENVIRONMENT=development🎫 Features
Visitor Features
- ✅ View event details and ticket prices
- ✅ Select one ticket (enforced limit)
- ✅ Automatic Mastercard 5% discount
- ✅ Secure card payment (Click to Pay)
- ✅ QR ticket delivery via email/SMS
- ✅ No refunds policy acceptance
Admin Features
- ✅ Secure login with MFA
- ✅ Real-time sales dashboard
- ✅ Discount rule management
- ✅ Reconciliation reports
- ✅ Ticket status management
- ✅ Audit logs
Validator Features
- ✅ QR code scanning
- ✅ Ticket validation
- ✅ Offline capability
- ✅ Sync logs when online
- ✅ Prevent ticket reuse
🔒 Security & Compliance
- PCI-DSS: Card data never stored, tokenized payments
- OWASP: Secure coding standards applied
- Audit Logs: Complete action tracking
- MFA: Admin authentication
- Rate Limiting: API protection
- Input Validation: Schema-based validation
📊 Database Schema
Cosmos DB Containers
- events - Event information
- ticket-types - Ticket pricing
- orders - Purchase records
- tickets - QR tickets
- transactions - Payment records
- audit-logs - System audit trail
See Database Schema for details.
🧪 Testing
# Run backend tests
cd backend
npm test
# Run frontend tests
cd frontend
npm test
# Run e2e tests
npm run test:e2e🚢 Deployment
Azure Deployment
# Login to Azure
az login
# Deploy infrastructure
cd infrastructure
./deploy.sh
# Deploy backend
cd ../backend
npm run deploy
# Deploy frontend
cd ../frontend
npm run build
npm run deploySee Deployment Guide for detailed instructions.
📖 Documentation
- System Architecture
- API Documentation
- Database Schema
- Ticket Validation Guide
- Reconciliation Workflow
- Best Practices & Compliance
🤝 Contributing
This is a production system. All changes require:
- Code review
- Passing tests
- Security review
- Documentation updates
📝 License
Proprietary - Untamed Empire Event Management
🆘 Support
For issues or questions, contact: [email protected]
Built with ❤️ for Detty Rave 2025
