نسخه ۲ بک‌اند آرامش پلازا — بازنویسی کامل

- API عمومی محتوای سایت (پروژه‌ها، مقالات، خدمات و...)
- فرم تماس و خبرنامه با اعتبارسنجی سرور
- پنل مدیریت با JWT و CRUD کامل + مدیریت پیام‌ها و مشترکین
- اسکریپت seed با داده‌های واقعی سایت
- تست‌شده: ۳۶/۳۶ انتهاپوینت
This commit is contained in:
Behrad
2026-08-29 12:55:13 +03:30
parent 854309f976
commit ed14435485
30 changed files with 1237 additions and 1655 deletions
+26 -31
View File
@@ -1,47 +1,42 @@
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.config import settings
from app.routers import auth, projects, articles, brand, contact, newsletter
from app.routers.simple_resources import (
services_router,
stats_router,
timeline_router,
why_us_router,
testimonials_router,
team_router,
faqs_router,
)
from . import models # noqa: F401 — ثبت مدل‌ها پیش از ساخت جداول
from .api import admin, forms, public
from .config import settings
from .database import Base, engine
Base.metadata.create_all(bind=engine)
app = FastAPI(
title="Aramesh Plaza API",
description="بک‌اند سایت آرامش پلازا — مدیریت محتوا، فرم تماس و خبرنامه",
title="ArameshPlaza API",
description=(
"بک‌اند سایت آرامش پلازا — API محتوای سایت، فرم تماس و خبرنامه، "
"و پنل مدیریت با احراز هویت JWT."
),
version="1.0.0",
docs_url="/docs",
redoc_url="/redoc",
)
app.add_middleware(
CORSMiddleware,
allow_origins=settings.cors_origins_list,
allow_credentials=True,
allow_origins=settings.cors_origins,
allow_credentials=False,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(auth.router)
app.include_router(brand.router)
app.include_router(services_router)
app.include_router(projects.router)
app.include_router(stats_router)
app.include_router(timeline_router)
app.include_router(why_us_router)
app.include_router(testimonials_router)
app.include_router(team_router)
app.include_router(articles.router)
app.include_router(faqs_router)
app.include_router(contact.router)
app.include_router(newsletter.router)
app.include_router(public.router, prefix="/api", tags=["عمومی"])
app.include_router(forms.router, prefix="/api", tags=["فرم‌ها"])
app.include_router(admin.auth_router, prefix="/api", tags=["احراز هویت"])
app.include_router(admin.router, prefix="/api/admin", tags=["پنل مدیریت"])
@app.get("/", tags=["Health"])
def health_check():
return {"status": "ok", "message": "Aramesh Plaza API در حال اجراست"}
@app.get("/")
def root():
return {
"app": "ArameshPlaza API",
"docs": "/docs",
"health": "/api/health",
}