Commit Graph
6 Commits
Author SHA1 Message Date
MMD a29deb8bb1 سئو: بررسی سئو در صفحه نوشتن + عنوان و توضیح متای هر صفحه
- پنل «بررسی سئو» در صفحه نوشتن مقاله — سبز/نارنجی/قرمز سازگار با فارسی:
  طول عنوان، کلمه کلیدی هدف (در عنوان/پاراگراف اول/تیتر H2)، طول چکیده،
  تعداد واژه، تیتربندی، متن جایگزین تصاویر، پیوندها و slug.
  کلمه کلیدی در localStorage نگه داشته می‌شود (راهنمای ویرایشگر است، نه محتوا)
- جدول seo_meta: عنوان و توضیح متای هر صفحه (page_key برای هر ۸ صفحه،
  seed خودکار، CRUD در /api/admin/seo-meta، خواندن در GET /api/site)
- تزریق عنوان/توضیح متا در فرانت‌اند: صفحه‌های فهرست از دیتابیس؛ صفحه
  مقاله و پروژه از محتوای خودشان (بدون تداخل با اثر سطح والد)
- دکمه سئو روی هیرو هر صفحه و کنار هیرو صفحه اصلی (فقط حالت ویرایش)
2026-09-07 03:12:12 +03:30
MMD 8f11df99ea بک‌اند: بدنه مقاله به سند ساختاریافته TipTap (JSON) + مهاجرت داده
- body مقاله از لیست پاراگراف به سند ProseMirror تغییر کرد:
  {"type": "doc", "content": [...]} — در In/Out/Patch schemas
- اعتبارسنجی ساختاری (type=doc + content لیست) با field_validator —
  امنیت رندر بر عهده رندر استاتیک TipTap در فرانت‌اند است
- app/migrations.py: مهاجرت‌های DDL و داده در یک‌جا؛ migrate_article_bodies
  ردیف‌های قدیمی (لیست پاراگراف) را idempotent به سند تبدیل می‌کند —
  در startup و seed اجرا می‌شود، دیتابیس موجود بدون از دست رفتن داده ارتقا می‌یابد
- seed بدنه‌های لیستی را قبل از درج به سند تبدیل می‌کند
- README بک‌اند: فرمت بدنه و رفتار مهاجرت مستند شد
2026-09-06 23:32:52 +03:30
MMD b7d29d1028 مستندسازی ویرایش زنده و انتهای‌نقطه‌های جدید در README
- README ریشه: بخش «ویرایش زنده سایت» — ورود از /admin/login، حالت
  ویرایش، ذخیره خودکار هر فیلد، ویرایش/حذف/ترتیب مجموعه‌ها، آپلود تصویر
  و نامرئی بودن لایه برای بازدیدکنندگان
- README بک‌اند: افزودن PATCH (ویرایش جزئی) و reorder به جدول
  انتهای‌نقطه‌ها + فهرست منابع دارای ستون position و نحوه مهاجرت سبک
2026-09-06 22:30:17 +03:30
MMD 897fac4f15 ذخیره‌سازی تصاویر با MinIO (S3) و انتهای‌نقطه آپلود ادمین
- POST /api/admin/upload با احراز هویت JWT: ذخیره فایل در باکت S3 و
  برگرداندن URL نسبی /media/<سال>/<ماه>/<uuid>.<پسوند>
- فرمت‌های مجاز: jpg، png، webp، gif، avif — حداکثر ۱۰ مگابایت (قابل تنظیم)
- افزودن boto3 و python-multipart به وابستگی‌ها
- تنظیمات جدید: S3_ENDPOINT، S3_ACCESS_KEY، S3_SECRET_KEY، S3_BUCKET،
  MEDIA_PUBLIC_BASE، MEDIA_MAX_UPLOAD_MB (قابل تعریف در .env)
- URL نسبی برمی‌گردد تا بک‌اند ذخیره‌سازی (MinIO/R2/هر S3) بدون تغییر
  محتوای دیتابیس قابل تعویض باشد
- به‌روزرسانی .env.example و README (بخش تصاویر و MinIO)
2026-09-06 20:49:01 +03:30
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
Behrad ad75f7a7bd پروژه کامل: فرانت متصل به API + داکرایز
- اتصال کامل فرانت به API: همه محتوای سایت (پروژه‌ها، مقالات، خدمات، برند و...) از بک‌اند خوانده می‌شود (SiteProvider + useSite)
- فرم تماس و خبرنامه متصل به بک‌اند و تست‌شده در مرورگر
- ساختار مونوریپو: frontend/ + backend/
- Dockerfile برای هر دو بخش + docker-compose (PostgreSQL + FastAPI + nginx)
- nginx با پروکسی /api — بدون نیاز به CORS در حالت داکر
- README کامل فارسی
2026-08-29 13:26:58 +03:30