akborana4 commited on
Commit
571cc35
·
verified ·
1 Parent(s): 29de627

Create backend/main.py

Browse files
Files changed (1) hide show
  1. backend/main.py +42 -0
backend/main.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ # ⚡ BULLETPROOF FIX: Wipe broken proxies before anything loads
4
+ for key in list(os.environ.keys()):
5
+ if 'proxy' in key.lower():
6
+ del os.environ[key]
7
+
8
+ from fastapi import FastAPI
9
+ from fastapi.responses import HTMLResponse
10
+ from fastapi.staticfiles import StaticFiles
11
+ from fastapi.templating import Jinja2Templates
12
+ from starlette.requests import Request
13
+
14
+ # Auto-create directories to prevent crashes
15
+ os.makedirs("static", exist_ok=True)
16
+ os.makedirs("templates", exist_ok=True)
17
+
18
+ from backend.database import init_db
19
+ from backend.routes_auth import router as auth_router
20
+ from backend.routes_files import router as files_router
21
+ from backend.routes_ai import router as ai_router
22
+ from backend.routes_terminal import router as terminal_router
23
+
24
+ app = FastAPI()
25
+
26
+ # Mount frontend assets
27
+ app.mount("/static", StaticFiles(directory="static"), name="static")
28
+ templates = Jinja2Templates(directory="templates")
29
+
30
+ # Initialize database
31
+ init_db()
32
+
33
+ # Include modular routes
34
+ app.include_router(auth_router)
35
+ app.include_router(files_router)
36
+ app.include_router(ai_router)
37
+ app.include_router(terminal_router)
38
+
39
+ @app.get("/", response_class=HTMLResponse)
40
+ async def get(request: Request):
41
+ return templates.TemplateResponse("index.html", {"request": request})
42
+