elmeg-demo/backend/main.py
fullsizemalt ff56e4f140
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
feat: add Band Members (Musicians) feature - Sprint 4
2025-12-24 13:07:48 -08:00

61 lines
1.9 KiB
Python

from fastapi import FastAPI
import os
from routers import auth, shows, venues, songs, social, tours, artists, preferences, reviews, badges, nicknames, moderation, attendance, groups, users, search, performances, notifications, feed, leaderboards, stats, admin, chase, gamification, videos, musicians
from fastapi.middleware.cors import CORSMiddleware
# Feature flags - set to False to disable features
ENABLE_BUG_TRACKER = os.getenv("ENABLE_BUG_TRACKER", "true").lower() == "true"
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # In production, set this to the frontend domain
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(auth.router)
app.include_router(shows.router)
app.include_router(venues.router)
app.include_router(songs.router)
app.include_router(social.router)
app.include_router(tours.router)
app.include_router(artists.router)
app.include_router(preferences.router)
app.include_router(reviews.router)
app.include_router(badges.router)
app.include_router(nicknames.router)
app.include_router(moderation.router)
app.include_router(attendance.router)
app.include_router(groups.router)
app.include_router(users.router)
app.include_router(search.router)
app.include_router(performances.router)
app.include_router(notifications.router)
app.include_router(feed.router)
app.include_router(leaderboards.router)
app.include_router(stats.router)
app.include_router(admin.router)
app.include_router(chase.router)
app.include_router(gamification.router)
app.include_router(videos.router)
app.include_router(musicians.router)
# Optional features - can be disabled via env vars
if ENABLE_BUG_TRACKER:
from routers import tickets
app.include_router(tickets.router)
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/healthz")
def health_check():
"""Health check endpoint for monitoring and load balancers"""
return {"status": "healthy"}