This commit is contained in:
丹尼尔
2026-03-12 19:35:06 +08:00
commit ad96272ab6
40 changed files with 2645 additions and 0 deletions

48
backend/app/main.py Normal file
View File

@@ -0,0 +1,48 @@
import os
from pathlib import Path
from typing import List
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from backend.app.routers import customers, projects, finance
def create_app() -> FastAPI:
app = FastAPI(
title="Ops-Core",
description="Monolithic automation & business ops platform",
version="0.1.0",
)
# CORS
raw_origins = os.getenv("CORS_ORIGINS")
if raw_origins:
origins: List[str] = [o.strip() for o in raw_origins.split(",") if o.strip()]
else:
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Routers
app.include_router(customers.router)
app.include_router(projects.router)
app.include_router(finance.router)
# Static data mount (for quotes, contracts, finance archives, etc.)
data_dir = Path("data")
data_dir.mkdir(parents=True, exist_ok=True)
app.mount("/data", StaticFiles(directory=str(data_dir)), name="data")
return app
app = create_app()