Files
aperonight/README.md
Kevin BATAILLE 30f3ecc6ad refactor(events): replace parties concept with events throughout the application
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

This commit refactors the entire application to replace the 'parties' concept with 'events'. All controllers, models, views, and related files have been updated to reflect this change. The parties table has been replaced with an events table, and all related functionality has been updated accordingly.
2025-08-28 13:20:51 +02:00

80 lines
2.1 KiB
Markdown
Executable File

# Aperonight - Event Booking Platform
![Aperonight Screenshot](app/assets/images/screenshot-homepage.png)
## 🌃 Overview
**Aperonight** is a two-sided marketplace connecting event-goers with nightlife promoters in Paris. The platform allows:
- **Customers** to discover/book tickets for upcoming events
- **Promoters** to create/manage events and validate tickets at venue entrances
## 🎯 Key Features
### For Event-Goers
✔ Browse upcoming events with filters (date, location, music genre)
✔ Book tickets with multiple bundle options (VIP, group passes, etc.)
✔ Secure payment processing (credit cards, Apple/Google Pay)
✔ Mobile-friendly e-tickets with QR codes
### For Promoters
✔ Event creation dashboard with ticket type customization
✔ Real-time ticket validation via mobile scanning
✔ Sales analytics and attendee tracking
✔ Automatic aggregation of events from partner platforms
## 🛠 Technical Stack
### Backend
- **Ruby on Rails 7** (API mode)
- **MariaDB** database
<!--- **Redis** for caching/background jobs-->
- **ActiveJob** for background processing
### Frontend
- **Hotwire (Turbo + Stimulus)** for reactive UI
- **Tailwind CSS** for styling
- **React Native** for promoter mobile app (ticket scanning)
### Key Integrations
- **Stripe Connect** for payments & promoter payouts
- **Shogun/Bizouk/Weezevent APIs** for event aggregation
<!--- **Twilio** for SMS ticket delivery-->
<!--- **AWS S3** for media storage-->
## 📊 Database Schema (Simplified)
```mermaid
erDiagram
USER ||--o{ BOOKING : makes
USER {
integer id
string email
string encrypted_password
}
PROMOTER ||--o{ EVENT : creates
PROMOTER {
integer id
string stripe_account_id
}
EVENT ||--o{ TICKET_TYPE : has
EVENT {
integer id
datetime start_time
}
BOOKING ||--o{ TICKET : generates
BOOKING {
integer id
decimal total_price
}
TICKET_TYPE ||--o{ TICKET : defines
TICKET_TYPE {
integer id
string name
}
TICKET {
integer id
string qr_code
}
```