Files
NexaFabric/backend/app/main.py
T
nessi 14e7710120
CI / backend (push) Failing after 15s
CI / frontend (push) Failing after 39s
chore: initial project setup with backend, frontend, CI/CD, and documentation
Add complete NexaFabric project structure including:
- FastAPI backend with SQLAlchemy models, JWT auth, RBAC, audit logging, and provider interfaces
- React + TypeScript frontend with Vite, Tailwind CSS, TanStack Query, and Zustand
- Docker Compose configuration for PostgreSQL, Redis, API, worker, frontend, and nginx
- GitHub Actions and GitLab CI workflows for testing, linting, building, and security scanning
- Environment
2026-07-09 12:10:35 +02:00

43 lines
1.1 KiB
Python

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.api.v1.router import api_router
from app.core.config import get_settings
from app.db.session import Base, SessionLocal, engine
from app.seed.demo import seed_demo_data
def create_app() -> FastAPI:
settings = get_settings()
app = FastAPI(
title=settings.project_name,
description="SDN-like network and security control plane for Proxmox VE.",
version="0.1.0",
docs_url="/api/docs",
openapi_url="/api/openapi.json",
)
app.add_middleware(
CORSMiddleware,
allow_origins=[str(origin) for origin in settings.cors_origins],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.on_event("startup")
def startup() -> None:
Base.metadata.create_all(bind=engine)
with SessionLocal() as db:
seed_demo_data(db)
@app.get("/healthz")
def healthz() -> dict[str, str]:
return {"status": "ok"}
app.include_router(api_router, prefix="/api/v1")
return app
app = create_app()