from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from .database import engine, Base from . import models from .routes import data from .routes import preprocessing from .routes import prediction from .routes import dashboard from .routes import tfidf # ========================================================= # MEMBUAT TABEL DATABASE # ========================================================= Base.metadata.create_all(bind=engine) # ========================================================= # MEMBUAT APLIKASI FASTAPI # ========================================================= app = FastAPI( title="S-Learn Sentiment Analysis API", description="Backend sistem analisis sentimen S-Learn", version="1.0.0" ) # ========================================================= # CORS # ========================================================= app.add_middleware( CORSMiddleware, allow_origins=[ "http://localhost:3000", "http://localhost:3001" ], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # ========================================================= # ROUTER # ========================================================= app.include_router(data.router) app.include_router(preprocessing.router) app.include_router(prediction.router) app.include_router(dashboard.router) app.include_router(tfidf.router) # ========================================================= # ROOT # ========================================================= @app.get("/") def root(): return { "message": "S-Learn Sentiment Analysis API berhasil dijalankan" }