Add Tickets domain for the voucher-based ticket shop
New domain mirroring the Feedback module's conventions: single-use voucher codes (wildcard + personalized), redemption with race-safe capacity and deadline enforcement, admin CRUD for vouchers/redemptions/event settings with an audit trail, and reuse of the existing Calendar session auth. Backend pieces: - Tickets domain (public redeem flow, admin vouchers/redemptions/events) - Calendar events.service.ts: add getEventById - Mailer: attachment/HTML support, fix a shared-mutable-state race - Per-event capacity/deadline/address settings, with an "address required" option on top of "address collected" - Email format validation on redeem and admin voucher/redemption input - Docker Compose dev stack (MariaDB + seed data) for local testing Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# Local dev only — not used in production/deployment. Spins up a MariaDB
|
||||
# instance with the calendar (reconstructed dev schema, see docker/init's
|
||||
# disclaimer), feedback, and tickets databases pre-seeded.
|
||||
#
|
||||
# Usage:
|
||||
# docker compose -f docker-compose.dev.yml up -d
|
||||
#
|
||||
# Then point .env at:
|
||||
# DB_HOST=127.0.0.1
|
||||
# DB_USER=nachklang
|
||||
# DB_PASSWORD=devpassword
|
||||
# CALENDAR_DB=nachklang_calendar
|
||||
# FEEDBACK_DB=nachklang_feedback
|
||||
# TICKETS_DB=nachklang_tickets
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:11
|
||||
environment:
|
||||
MARIADB_ROOT_PASSWORD: rootdevpassword
|
||||
ports:
|
||||
- "3306:3306"
|
||||
volumes:
|
||||
- nachklang_dev_db:/var/lib/mysql
|
||||
- ./sql:/migrations:ro
|
||||
- ./docker/init:/docker-entrypoint-initdb.d:ro
|
||||
|
||||
volumes:
|
||||
nachklang_dev_db:
|
||||
Reference in New Issue
Block a user