File size: 1,351 Bytes
792ad00
 
 
b07f5e4
792ad00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b07f5e4
951d5c6
792ad00
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from core.database import init_db
from api import auth, sources, podcast, flashcards, mindmaps, quizzes, reports, video_generator, rag, chat, websocket_routes, canvas

# Initialize Database Tables
init_db()

app = FastAPI(
    title="CreatorStudio AI API",
    description="Backend for CreatorStudio AI - Podcast and Content Creation Platform",
    version="0.1.0"
)

# CORS Configuration
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# Include Routers
app.include_router(auth.router)
app.include_router(sources.router)
app.include_router(podcast.router)
app.include_router(flashcards.router)
app.include_router(mindmaps.router)
app.include_router(quizzes.router)
app.include_router(reports.router)
app.include_router(video_generator.router)
app.include_router(rag.router)
app.include_router(chat.router)
app.include_router(canvas.router)
app.include_router(websocket_routes.router)  # WebSocket endpoints for real-time progress

@app.get("/")
async def root():
    return {"message": "Welcome to CreatorStudio AI API. Head to /docs for API documentation."}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)