# app/main.py from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles import os from dotenv import load_dotenv from app.config.config import Config from app.routers import admin, auth, chat, location, preferences, profile, questionnaire, language, chat_session load_dotenv() app = FastAPI(title="Skin AI API") # Configure CORS app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Mount static files for uploads os.makedirs(Config.UPLOAD_FOLDER, exist_ok=True) app.mount("/uploads", StaticFiles(directory=Config.UPLOAD_FOLDER), name="uploads") # Register routers app.include_router(admin.router, prefix="/api", tags=["admin"]) app.include_router(auth.router, prefix="/api", tags=["auth"]) app.include_router(chat.router, prefix="/api", tags=["chat"]) app.include_router(location.router, prefix="/api", tags=["location"]) app.include_router(preferences.router, prefix="/api", tags=["preferences"]) app.include_router(profile.router, prefix="/api", tags=["profile"]) app.include_router(questionnaire.router, prefix="/api", tags=["questionnaire"]) app.include_router(language.router, prefix="/api", tags=["language"]) app.include_router(chat_session.router, prefix="/api", tags=["chat_session"]) @app.get("/") async def root(): return {"message": "API is running", "status": "healthy"}