2.1 KiB
2.1 KiB
Technical Plan
Architecture
- MVP: Scalable, modular cloud-native architecture (API-first, microservices recommended).
- Backend: Python/Node.js (TBD based on specific needs, likely Python for data/graph heavy lifting).
- Frontend: Modern web framework (React/Next.js).
Data
- Storage: Flexible graph-based or relational database with advanced indexing (e.g., Neo4j + PostgreSQL).
Authentication & Security
- Auth: OAuth2, multi-factor auth (MFA), end-to-end encryption for private data.
- Privacy: Robust user privacy controls.
New Feature Implementation
- Social:
- Reviews:
Reviewtable withblurb(short text),content(long text),score(int), and FKs. - Comments: Polymorphic association (Comment -> EntityID, EntityType) or separate tables per entity.
- Ratings:
UserRatingtable linking User -> Performance/Show.
- Reviews:
- Gamification:
- Stats: Async jobs (Celery/ARQ) to recalculate stats on data changes.
- Badges: Rule engine to award badges based on user activity events.
- Advanced Content:
- Nicknames:
PerformanceNicknametable withstatus(suggested, approved) for moderation.
- Nicknames:
- Moderation:
- RBAC: Role-Based Access Control in API dependencies.
Moderation System
- Layered Model:
- Automated AI filtering for high-volume content.
- User reporting mechanisms.
- Human review tools with clear guidelines.
Core Entities (Data Architecture)
- Core:
Vertical->Show->Performance->Song. - Common Fields: All entities include
notes(Text) for flexible metadata (guests, trivia). - Grouping:
Tour(one-to-many with Show). - User Data:
UserAttendance(User <-> Show),UserPreferences(JSON or table for settings like "Wiki Mode"). - Metadata:
TagandEntityTag(Polymorphic tagging). - Entities:
Venue,Artist(Musicians/Guests),Character(for non-music verticals).
Integrations
- Launch: Setlist.fm APIs, TV meta providers.
- Future: Event hooks for external integrations.
Accessibility
- Standards: WCAG 2.2 compliance.
- Design: Mobile-first responsive design.