Files
aramesh-backend/README.md
T
MMD 8bb303dda2 ری‌برند: تغییر نام «آرامش پلازا» به «گروه ساختمانی آرامش» در بک‌اند و مستندات
- main.py: عنوان و توضیحات اپ FastAPI و نام اپ در پاسخ سلامت (ArameshPlaza API به Aramesh Building Group API)
- api/public.py: نام اپ در پاسخ سلامت
- seed.py و seed_data.py: توضیحات اسکریپت و داده‌های اولیه (نام برند، ایمیل، تایم‌لاین، تستیمونیال، FAQ)
- README و README بک‌اند: متن‌های مرتبط با برند

شناسه‌های داخلی دیتابیس (نام دیتابیس arameshplaza) بدون تغییر باقی مانده‌اند.
2026-08-31 17:52:36 +03:30

3.1 KiB

گروه ساختمانی آرامش — پروژه کامل (فرانت‌اند + بک‌اند)

مونوریپوی سایت گروه ساختمانی آرامش شامل:

  • frontend/ — سایت React + Vite + Tailwind (همه محتوا از API خوانده می‌شود)
  • backend/ — بک‌اند FastAPI + SQLAlchemy 2 + PostgreSQL + JWT

ساختار

├── frontend/             # سایت React
│   ├── src/              # کد منبع (api.tsx = لایه اتصال به بک‌اند)
│   ├── Dockerfile        # بیلد Node + سرو با nginx
│   └── nginx.conf        # پروکسی /api به بک‌اند
├── backend/              # بک‌اند FastAPI
│   ├── app/              # کد منبع
│   ├── requirements.txt
│   ├── Dockerfile
│   └── .env.example
└── docker-compose.yml    # اجرای کامل با یک دستور

اجرا با Docker (ساده‌ترین راه)

docker compose up --build
  • سایت: http://localhost:5173
  • مستندات API: http://localhost:8000/docs
  • دیتابیس PostgreSQL در کانتینر جدا (داده‌ها در volume ذخیره می‌شوند)
  • بک‌اند هنگام شروع، خودش جداول و داده‌های اولیه سایت را seed می‌کند
  • nginx درخواست‌های /api را خودش به بک‌اند پروکسی می‌کند — نیازی به تنظیم CORS نیست

اجرای محلی (توسعه)

بک‌اند

cd backend
python -m venv .venv
.venv\Scripts\activate        # ویندوز — در لینوکس: source .venv/bin/activate
pip install -r requirements.txt

# فایل .env از روی .env.example بسازید و DATABASE_URL را تنظیم کنید
python -m app.seed            # ساخت جداول + محتوای اولیه
uvicorn app.main:app --reload

فرانت‌اند

cd frontend
npm install
npm run dev                   # http://localhost:5173

آدرس بک‌اند در frontend/src/config.ts از VITE_API_URL خوانده می‌شود؛ اگر تنظیم نشود پیش‌فرض http://localhost:8000 است.

امکانات بک‌اند

  • API عمومی: برند، خدمات، پروژه‌ها، مقالات، نظرات، سوالات متداول، تیم، تایم‌لاین، آمار و...
  • فرم تماس POST /api/contact و خبرنامه POST /api/newsletter
  • پنل مدیریت با JWT: ورود POST /api/auth/login (پیش‌فرض: admin / aramesh123) و سپس CRUD کامل همه محتواها در /api/admin/...
  • همه محتوا در یک درخواست: GET /api/site

در محیط واقعی حتماً SECRET_KEY و ADMIN_PASSWORD را تغییر دهید.

نکات امنیتی

  • فایل .env هرگز commit نمی‌شود (در .gitignore است)
  • رمز عبور ادمین با bcrypt هش می‌شود
  • توکن‌های JWT امضا دارند و مدت اعتبارشان قابل تنظیم است