Files
aperonight/README.md
Kevin BATAILLE a8a8c55041 working on header
2025-08-28 14:27:06 +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
}
```