مستندات API Besaz

راهنمای عملی برای تعریف پیکربندی، تولید، بررسی و استفاده از پروژه‌های بک‌اند FastAPI با API Besaz.

API Besaz یک تولیدکننده بک‌اند مبتنی بر پیکربندی است. پیکربندی شما شامل تنظیمات پروژه، پایگاه داده، موجودیت‌ها، APIها، امنیت، وظایف پس‌زمینه، مشاهده‌پذیری، تست‌ها و در صورت نیاز استقرار است. موتور این تعریف را اعتبارسنجی می‌کند و فایل‌های متناسب با گزینه‌های فعال را از قالب‌ها تولید می‌کند. خروجی یک پروژه بک‌اند قابل‌دانلود است؛ نه یک جایگزین برای همه مراحل ساخت محصول.

خروجی، پروژه‌ای مستقل است. پروژه خروجی مستقل است و کد آن را در اختیار دارید. API Besaz بخش بک‌اند و API را آماده می‌کند؛ می‌توانید آن را به فرانت‌اند، اپ موبایل، ابزار No-code یا جریان کاری‌ای که با کمک AI Agent ساخته‌اید متصل کنید. کد و تنظیمات باید پیش از انتشار بررسی شوند.

شروع سریع: در چند دقیقه مسیر را پیدا کنید

  1. ایجاد حساب حساب بسازید و اعتبار رایگان اولیه و موجودی توکن را در داشبورد بررسی کنید.
  2. سازنده را باز کنید نام پروژه و نسخه پایتون را تعیین کنید.
  3. موجودیت اضافه کنید موجودیت‌ها (مثل Product یا Order)، فیلدهای آن‌ها، روابط و مسیرهای API موردنیاز را تعریف کنید.
  4. قابلیت‌ها را فعال کنید ماژول‌های اختیاری را با توجه به نیاز و وابستگی‌هایشان فعال کنید.
  5. تولید کنید خلاصه پیکربندی و هزینه را بازبینی کنید، تولید را ثبت کنید، سپس فایل ZIP را دانلود و تست کنید.

نمونه گام‌به‌گام: API ساده انبارداری

این راهنما نشان می‌دهد انتخاب‌های سازنده چگونه به هم مرتبط می‌شوند. انبارداری فقط یک مثال است؛ نام‌ها و فیلدها را متناسب با برنامه خود انتخاب کنید.

1

۱. نام پروژه را تعیین کنید

سازنده را باز کنید و نام روشنی مانند inventory_api انتخاب کنید. یک نسخه پشتیبانی‌شده پایتون انتخاب کنید و نام بسته را ساده نگه دارید؛ استفاده از حروف، رقم و زیرخط معمولاً آسان‌تر است.

2

۲. داده‌ها را تعریف کنید

موجودیت Category را با فیلدهای id و name بسازید. سپس Product را با id، name، price از نوع decimal و stock از نوع integer بسازید. فقط فیلدهای لازم را اضافه کنید و پیش از ادامه، اجباری‌بودن، مقدار پیش‌فرض و محدودیت‌های کمینه/بیشینه را بررسی کنید.

3

۳. موجودیت‌های مرتبط را وصل کنید

اگر هر محصول به یک دسته تعلق دارد، رابطه many_to_one را از Product به Category تعریف کنید. جهت رابطه را با دقت بخوانید؛ جهت اشتباه ممکن است مدل داده‌ای معتبر اما متفاوت با نیاز شما ایجاد کند.

4

۴. مسیرهای مجموعه را انتخاب کنید

برای products و categories مسیرهای مجموعه REST تعریف و متدهای HTTP لازم را انتخاب کنید. مسیر مجموعه را دستی با /{id} تمام نکنید؛ موتور بر اساس قواعد تولید، مسیرهای رکورد تکی را اضافه می‌کند. خلاصه نهایی مسیرها را پیش از تولید بررسی کنید.

5

۵. فقط قابلیت‌های لازم را فعال کنید

احراز هویت، مدیریت، کش، WebSocket، GraphQL، وظایف پس‌زمینه، تست‌ها، مشاهده‌پذیری یا فایل‌های Docker را فقط در صورت نیاز فعال کنید. بعضی گزینه‌ها به ماژول‌های دیگر وابسته‌اند؛ پیام اعتبارسنجی را برطرف کنید و آن را دور نزنید.

6

۶. اعتبارسنجی، برآورد، تولید و بازبینی

همه پیام‌های اعتبارسنجی را رفع کنید، هزینه نهایی توکن محاسبه‌شده در سرور را بررسی و تولید را ثبت کنید. پس از تکمیل کار، ZIP را دانلود و استخراج کنید. ابتدا README و نمونه تنظیمات محیطی را بخوانید؛ سپس مهاجرت‌ها، مسیرها و تست‌ها را پیش از اتصال سرویس‌های واقعی یا استقرار بررسی کنید.

فایل ZIP چه چیزهایی دارد؟

فایل‌های دقیق به پیکربندی شما بستگی دارند. خروجی معمولاً شامل بسته برنامه و فایل‌های وابستگی و تنظیمات است؛ قابلیت‌های انتخاب‌شده ممکن است احراز هویت، مهاجرت، تست و دارایی‌های استقرار را اضافه کنند. API Besaz کد بک‌اند تولید می‌کند، نه فرانت‌اند کامل و کاربرمحور برنامه شما.

  • کد برنامه: مدل‌ها، schemaها، سرویس‌ها و مسیرهای API متناسب با Blueprint.
  • دارایی‌های کیفیت: تست‌های تولیدشده و فایل‌های مهاجرت، در صورت پشتیبانی گزینه‌ها و موجودیت‌ها.
  • راهنمای اجرا/استقرار: README و فایل‌های محیطی یا Docker، اگر گزینه‌های آن فعال باشند.

API Besaz چگونه کنار ابزارهای دیگر قرار می‌گیرد؟

این ابزارها لزوماً جایگزین هم نیستند؛ ترکیب مناسب به مسئله شما بستگی دارد. API Besaz روی تعریف و تولید لایه بک‌اند تمرکز دارد.

AI Agentها

برای تحقیق، پیشنهاد معماری، نوشتن یا تغییر کد، عیب‌یابی و خودکارسازی کارهای توسعه مفیدند. خروجی Agent را همچنان باید بازبینی و آزمایش کرد.

ابزارهای No-code / Low-code

برای ساخت رابط کاربری، فرم‌ها، اپ‌های داخلی و جریان‌های کاری سریع‌اند. وقتی محصول به بک‌اند سفارشی یا API مستقل نیاز دارد، می‌توانند از API تولیدشده استفاده کنند.

API Besaz

به شما اجازه می‌دهد مدل داده، رابطه‌ها، مسیرها و ماژول‌های بک‌اند را به شکل پیکربندی روشن تعریف کنید و یک پروژه FastAPI قابل‌دانلود بگیرید.

ترکیب پیشنهادی با API Besaz یک پایه بک‌اند بسازید؛ آن را به رابط No-code یا فرانت‌اند خود متصل کنید؛ و در صورت نیاز از Agent و بازبینی انسانی برای گسترش، تست و نگهداری پروژه کمک بگیرید.

سازنده

تنظیمات زیر به موتور تولید داده می‌شود. دسترس‌پذیری برخی گزینه‌ها به وابستگی‌های تعریف‌شده در مدل پیکربندی بستگی دارد:

  • پروژه — نام پروژه، نسخه پایتون به فرمت major.minor و مدیر بسته pip.
  • پایگاه داده — انتخاب PostgreSQL یا SQLite در کنار ORM مبتنی بر SQLModel؛ کش Redis اختیاری است.
  • قابلیت‌ها — ماژول‌هایی مانند احراز هویت، پنل مدیریت، GraphQL، WebSocket، وظایف پس‌زمینه، مشاهده‌پذیری و استقرار.
  • موجودیت‌ها و اندپوینت‌ها — موجودیت‌ها، فیلدهای نوع‌دار، رابطه‌ها و endpointهای REST.

هزینه نهایی را در پنل هزینه توکن پیش از تولید بررسی کنید. هزینه به گزینه‌های فعال و تعداد موجودیت‌ها بستگی دارد؛ برآورد سمت کاربر صرفاً نمایشی است و سرور هزینه را دوباره محاسبه می‌کند.

فیلدها و نوع‌ها

هر موجودیت از فیلدهای نوع‌دار تشکیل می‌شود. موتور بر اساس نوع فیلد، گزینه‌ها و محدودیت‌های پشتیبانی‌شده را اعتبارسنجی می‌کند؛ محدودیت‌های دقیق را در سازنده بررسی کنید.

نوعنوع پایتونمحدودیت‌ها
stringstrmin_length, max_length, pattern
textstrmin_length, max_length, pattern
integerintmin_value, max_value
floatfloatmin_value, max_value
decimalDecimalmin_value, max_value
booleanbool—
datedate—
datetimedatetime—
uuidUUID—
enumEnumchoices (required)
jsondict—
نکته: نام فیلدها و مقادیر enum را مطابق قواعد سازنده وارد کنید. همه محدودیت‌ها برای همه نوع‌ها یکسان نیستند و فیلد اجباری با مقدار پیش‌فرض غیر null سازگار نیست.

روابط

رابطه‌های موجودیت‌ها در پیکربندی تعریف می‌شوند. موتور بر اساس نوع رابطه، کلید خارجی یا جدول واسط می‌سازد و موارد ناسازگار را اعتبارسنجی می‌کند.

نوعمعنامثال
many_to_oneچند رکورد به یک رکورد اصلیچند سفارش برای یک مشتری
one_to_manyیک رکورد اصلی به چند رکورد وابستهیک مشتری با چند سفارش
many_to_manyچندبه‌چند (با جدول واسط)مطلب‌ها و برچسب‌ها
one_to_oneیک‌به‌یککاربر و نمایهٔ او

اندپوینت‌ها

برای endpointهای REST، موجودیت، مسیر مجموعه و متدهای مجاز را در پیکربندی انتخاب کنید. موتور مسیرهای مربوط به عملیات تکی را مطابق قواعد تولید اضافه می‌کند.

  • متدها: get, post, put, patch, delete
  • مسیرهای مجموعه را بدون {id} تعریف کنید — API Besaz مسیر /{id} را برای عملیات تکی خودکار اضافه می‌کند.

مرجع قابلیت‌ها

REST API

روترها و عملیات API را از روی endpointها و موجودیت‌های تعریف‌شده تولید می‌کند؛ REST در مدل پیکربندی به‌صورت پیش‌فرض فعال است.

احراز هویت

در صورت فعال‌بودن، اجزای احراز هویت JWT، مدیریت نشست و TOTP تولید می‌شوند. احراز هویت به REST و تنظیم GeoIP نیاز دارد.

پنل مدیریت

پنل SQLAdmin اختیاری است و طبق اعتبارسنجی موتور فقط وقتی قابل استفاده است که احراز هویت نیز فعال باشد.

GraphQL

در صورت فعال‌بودن و انتخاب Strawberry، schema و resolverهای GraphQL در کنار APIهای دیگر تولید می‌شوند؛ این قابلیت به احراز هویت نیاز دارد.

WebSocket

اتصال بلادرنگ اختیاری است. وقتی احراز هویت فعال باشد، اتصال از سازوکار بلیت یک‌بارمصرف استفاده می‌کند؛ در حالت بدون احراز هویت، اتصال ناشناس است.

کش Redis

کش به‌صورت اختیاری قابل فعال‌سازی است. تولیدشده برای اتصال به Redis تنظیم می‌شود و در محیط اجرا به سرویس Redis قابل دسترس نیاز دارد.

وظایف پس‌زمینه

در صورت فعال‌بودن، کد اتصال به RabbitMQ و اجزای لازم برای پیام‌رسانی/وظایف پس‌زمینه ایجاد می‌شود.

مشاهده‌پذیری

تنظیمات ثبت رویداد و متریک‌ها را مطابق پیکربندی تولید می‌کند. داشبوردها و سرویس‌های مکمل به تنظیمات استقرار وابسته‌اند.

استقرار با Docker

فایل‌های Docker و Compose و پیکربندی Nginx فقط در صورت فعال‌بودن گزینه استقرار تولید می‌شوند؛ برای انتشار عمومی، TLS را نیز در لایه استقرار تنظیم کنید.

Pytest و Locust

تست‌های pytest بر اساس موجودیت‌ها، endpointها و ماژول‌های فعال ساخته می‌شوند. تولید فایل‌های Locust مستقل از pytest است؛ تعداد تست‌ها به تعریف هر پروژه بستگی دارد.

امنیت، کیفیت و کارایی

امنیت و نگهداشت‌پذیری بخشی از فرایند اصلی API Besaz هستند. اعتبارسنجی پیکربندی، schemaهای نوع‌دار، قواعد مالکیت و فیلدهای قابل‌نوشتن در Blueprint، تست‌های تولیدشده و راهنمای استقرار، یک پایه بک‌اند قابل‌بررسی و قابل‌توسعه در اختیارتان می‌گذارند. این پلتفرم با ابزارهای شناخته‌شده امنیتی و آزمون‌های دستی ارزیابی شده است؛ بنابراین می‌توانید توسعه را از یک نقطه شروع آزموده و ساختارمند ادامه دهید، نه از یک اسکلت خالی.

دفاع در عمق

موتور پیش از تولید، پیکربندی پروژه را اعتبارسنجی می‌کند. برای منابعی که در Blueprint تعریف می‌شوند، می‌توان schemaها و محدودیت‌های نوع‌دار، کنترل مالکیت هر کاربر، قواعد دسترسی مبتنی بر نقش و محدودیت فیلدهای قابل‌تغییر را تولید کرد. اگر مالکیت، نقش‌ها و فیلدهای قابل‌نوشتن را درست تعریف کنید، این کنترل‌ها برای مهار مسیرهای متداول IDOR و Mass Assignment در endpointهای تولیدشده طراحی شده‌اند. در دفاع چندلایه، این سازوکارها یکدیگر را تقویت می‌کنند؛ اما مسیرهای سفارشی، تغییر منطق مجوزدهی یا پیکربندی نادرست همچنان باید بازبینی شوند.

چند روش برای ارزیابی امنیت

API Besaz با CodeQL برای تحلیل ایستا، OWASP ZAP برای اسکن وب و API و OpenVAS برای ارزیابی زیرساخت آزمایش شده و آزمون‌های امنیتی دستی نیز روی آن انجام شده‌اند. یافته‌های گزارش‌شده ابزارها بررسی شدند و در محدوده نسخه و پیکربندی آزموده‌شده، مثبت کاذب ارزیابی شدند؛ پس از این بازبینی، نسخه بررسی‌شده آزمون‌های مربوط را با نتیجه قابل‌قبول پشت سر گذاشته است. این موضوع شاهد معناداری از آزمون نسخه و پیکربندی مشخص است، نه تضمینی برای بی‌نقص‌بودن هر کد سفارشی که بعداً به پروژه اضافه می‌شود.

بررسی دستی کنترل دسترسی

آزمون‌های دستی، IDOR یا دسترسی غیرمجاز به رکورد و نیز Mass Assignment را پوشش داده‌اند. گزارش داخلی موجود ۲۹ مورد آزمون موفق، صفر شکست و دو مورد نامرتبط با رفتار برنامه را ثبت می‌کند؛ دو مورد آخر به‌دلیل ناهماهنگی درخواست آزمون یا مسیر با route مربوط بوده‌اند. برای منابع تعریف‌شده در Blueprint، قواعد مالکیتِ درست تنظیم‌شده دسترسی به رکوردها را محدود می‌کنند و schemaها و سازوکار محافظت از فیلدها، مقادیری را که کاربر می‌تواند تعیین یا تغییر دهد محدود می‌کنند. این حفاظت درباره routeها و پیکربندی آزموده‌شده است؛ endpointهای سفارشی و قواعد کسب‌وکار به آزمون جداگانه مجوزدهی و اعتبارسنجی ورودی نیاز دارند.

آزمون بار و انتظار واقع‌بینانه از کارایی

در آزمون بار، پلتفرم در محیط آزموده‌شده به نرخ حداکثر ۲٬۵۰۰ درخواست در ثانیه رسیده است. در صورت فعال‌کردن گزینه مربوط، امکان ساخت سناریوهای Locust برای پروژه تولیدشده نیز وجود دارد. این نتیجه توان عملیاتی مفیدی را در همان بارکاری و محیط نشان می‌دهد؛ ظرفیت واقعی به رفتار endpointها، پرس‌وجوهای پایگاه داده، سخت‌افزار، تعداد worker یا replica، شبکه و پیکربندی بستگی دارد. پیش از انتشار، نرخ درخواست را همراه با زمان پاسخ P50/P95/P99 و نرخ خطا، زیر بارکاری واقعی خودتان اندازه‌گیری کنید.

کد قابل بررسی و کنترل بر خروجی

بک‌اند تولیدشده به‌صورت پروژه‌ای قابل دانلود تحویل داده می‌شود و شما می‌توانید آن را در جریان کاری دلخواه خود بررسی، ویرایش، تست، نسخه‌بندی و مستقر کنید. API Besaz کارهای تکراری ساخت اسکلت بک‌اند را کاهش می‌دهد؛ برنامه تولیدشده برای اجرا به فراخوانی API Besaz وابسته نیست. تصمیم‌های معماری، یکپارچه‌سازی‌ها، بازبینی امنیتی و نگهداری همچنان بر عهده شماست.

عیب‌یابی با مشاهده‌پذیری

در صورت فعال‌سازی، پروژه تولیدشده می‌تواند لاگ ساخت‌یافته، شناسه درخواست، متریک‌های Prometheus و endpointهای سلامت و آمادگی داشته باشد؛ اجزای استقرار Grafana، Loki و ابزارهای مرتبط نیز بر اساس پیکربندی اضافه می‌شوند. برای سنجش کارایی واقعی، زمان پاسخ، خطاها و اشباع منابع را بررسی کنید و تنها به عدد درخواست در ثانیه تکیه نکنید.

نکته مهم: نتایج آزمون امنیت و بار، پایه‌ای مشخص و آزموده برای ادامه توسعه فراهم می‌کنند. بااین‌حال، API Besaz نمی‌تواند همه قواعد کسب‌وکار، اتصال‌های سفارشی، تصمیم‌های استقرار یا سناریوهای پیاده‌سازی آینده را پیش‌بینی کند. مسئولیت بازبینی کد تولیدشده و سفارشی، تنظیم درست مالکیت و مجوزها، محافظت از اسرار و زیرساخت، آزمودن جریان‌های واقعی و ارزیابی دوباره تغییرات پیش از انتشار بر عهده شماست. نتایج آزمون را شاهدی برای محدوده‌ای بدانید که واقعاً بررسی شده است، نه تضمین امنیت مطلق برای هر برنامه ممکن.

پیش از استقرار عملیاتی

  • README و فایل نمونه تنظیمات محیطی پروژه را بخوانید؛ اسرار را در مخزن کد قرار ندهید و هر رمز یا کلیدی را که افشا شده است تعویض کنید.
  • برنامه را پشت HTTPS/TLS قرار دهید، مبدأهای مجاز را محدود کنید و ماژول احراز هویت و مجوزدهی متناسب با نیازتان را فعال کنید.
  • پنل مدیریت، پایش، متریک‌ها، ذخیره‌سازی فایل، صف پیام و رابط مدیریت اسرار را عمومی نکنید، مگر اینکه مسیر دسترسی کنترل‌شده‌ای برای آن طراحی کرده باشید.
  • مهاجرت‌های بازبینی‌شده پایگاه داده را اجرا کنید، پشتیبان‌گیری را تنظیم کنید و بازیابی واقعی از نسخه پشتیبان را آزمایش کنید.
  • تست‌های pytest تولیدشده، اسکن وابستگی و کانتینر و بررسی دستی IDOR، Mass Assignment، مالکیت و مجوزها را روی محیط staging اجرا کنید؛ یک بارکاری واقع‌گرایانه Locust را هم بسنجید.
  • در کنار نرخ درخواست، زمان پاسخ P50/P95/P99، نرخ خطا، سخت‌افزار، تعداد worker و replica، ترکیب درخواست‌ها و مدت تست را ثبت کنید؛ پس از تغییرات مهم نرم‌افزار یا زیرساخت، آزمون را تکرار کنید.

منابع موردنیاز پروژه‌های تولیدشده

پایگاه داده GeoLite2 در فایل ZIP پروژه‌های تولیدشده‌ای که GeoIP در آن‌ها فعال است، به‌طور پیش‌فرض قرار می‌گیرد. افزونه‌های Grafana داخل ZIP پروژه نیستند؛ بسته سازگار افزونه‌ها و نسخه به‌روز پایگاه داده GeoLite2 را از صفحه دانلودها دریافت کنید.

افزونه‌های منبع داده Grafana (Loki و Prometheus)

فایل افزونه‌های Grafana داخل ZIP پروژه تولیدشده قرار نمی‌گیرد. وقتی بسته ترکیبی سازگار در صفحه دانلودها فهرست شده است، آن را دریافت و فایل‌ها را به‌ترتیب در مسیرهای grafana/plugins/loki/ و grafana/plugins/prometheus/ استخراج کنید. اگر بسته ترکیبی در فهرست نبود، از پیوندهای رسمی زیر استفاده کنید. رفتن به صفحه دانلودها. راهنمای رسمی نصب افزونه‌های Grafana.

تشخیص کشور از روی IP (GeoLite2 Country)

وقتی GeoIP فعال باشد، فایل پایگاه داده GeoLite2-Country.mmdb به‌طور پیش‌فرض در مسیر زیر داخل ZIP پروژه تولیدشده قرار می‌گیرد. برای به‌روزرسانی پروژه‌ای که قبلاً ساخته‌اید، نسخه تازه پایگاه داده را از صفحه دانلودها بگیرید و فایل قبلی را جایگزین کنید. در نبود پایگاه داده، نتیجه تشخیص کشور Unknown خواهد بود. مکان‌یابی مبتنی بر IP تقریبی است و نباید نشانی دقیق تلقی شود. رفتن به صفحه دانلودها.

app/geoip/GeoLite2-Country.mmdb دریافت GeoLite2 از MaxMind

توکن‌ها و تعرفه‌ها

هزینه تولید عدد ثابتی برای همه پروژه‌ها نیست. هزینه به تنظیمات هسته، ماژول‌های فعال و موجودیت‌ها بستگی دارد؛ برآورد سازنده هزینه دقیق پیکربندی را پیش از ثبت درخواست نشان می‌دهد.

  • حساب‌های جدید در حال حاضر ۲۵ توکن رایگان دریافت می‌کنند.
  • هر زمان از صفحه تعرفه‌ها بیشتر بخرید.
  • هزینه نهایی در سمت سرور محاسبه می‌شود؛ برآورد رابط کاربری را مرجع مالی قطعی در نظر نگیرید.

بسته‌های فعلی را در صفحه تعرفه‌ها ببینید.

مشکلات متداول و موارد قابل بررسی

ابتدا پیام اعتبارسنجی یا وضعیت کار را بررسی کنید. هنگام درخواست کمک، گذرواژه، توکن، پیکربندی خصوصی یا فایل‌های محیطی را منتشر نکنید.

سازنده پیکربندی را نامعتبر اعلام می‌کند

خلاصه اعتبارسنجی را باز کنید و ابتدا نخستین خطای گزارش‌شده را برطرف کنید، سپس دوباره اعتبارسنجی کنید. نام موجودیت و فیلد، نوع فیلد پشتیبانی‌شده، گزینه‌های enum، مقصد رابطه و مسیرهای endpoint را بررسی کنید. پیکربندی باید الزامات ساختاری موتور را داشته باشد تا تولید آغاز شود.

یک قابلیت یا فایل در ZIP وجود ندارد

قابلیت اختیاری فقط زمانی تولید می‌شود که انتخاب و با بقیه Blueprint سازگار باشد. کلیدهای قابلیت و پیام‌های وابستگی را بررسی کنید. اگر گزینه استقرار فعال نشده باشد، فایل‌های مربوط به استقرار تولید نمی‌شوند.

تولید در صف مانده یا شکست خورده است

پیش از ثبت درخواست دیگر، وضعیت پروژه را بررسی کنید تا کار تکراری ایجاد نشود. اگر وضعیت متوقف ماند یا چند بار شکست خورد، شناسه پروژه/کار و پیام خطای غیرحساس را ذخیره و با پشتیبانی تماس بگیرید. دسترس‌پذیری صف و worker می‌تواند بر زمان تکمیل اثر بگذارد.

پیوند دانلود دیگر کار نمی‌کند

پیوندهای دانلود زمان‌محدود هستند. به پروژه یا داشبورد برگردید و در صورت وجود، درخواست دانلود تازه کنید. اگر پروژه دیگر دیده نمی‌شود، شناسه آن را به پشتیبانی بدهید؛ نشانی امضاشده دانلود را عمومی منتشر نکنید.

پروژه تولیدشده اجرا نمی‌شود یا تست‌ها شکست می‌خورند

ZIP را استخراج و ابتدا README آن را بخوانید. وابستگی‌های اعلام‌شده را نصب کنید، تنظیمات محیطی محلی را از روی نمونه بسازید و اسرار را در مخزن ثبت نکنید؛ سپس پایگاه داده و سرویس‌های فعال را تنظیم و مهاجرت‌ها را اجرا کنید. کد تولیدشده نقطه شروع است: پیش از انتشار، خطاهای تست، تنظیمات امنیتی، مجوزها و گزینه‌های استقرار عملیاتی را بررسی کنید.

سؤالات متداول

آیا کد تولیدشده متعلق به من است؟

فایل خروجی در اختیار شما قرار می‌گیرد و می‌توانید آن را بررسی و تغییر دهید. شرایط مجوز وابستگی‌ها و فایل‌های مجوز داخل پروژه تولیدشده را نیز رعایت کنید.

آیا می‌توانم از SQLite در تولید استفاده کنم؟

هر دو گزینه در پیکربندی پشتیبانی می‌شوند. انتخاب مناسب به بار کاری، هم‌زمانی، پشتیبان‌گیری و نیازهای عملیاتی برنامه شما بستگی دارد.

اگر وسط طراحی توکنم تمام شود چه؟

پیش از تولید، هزینه را در پنل بررسی کنید. اگر موجودی کافی نباشد، ابتدا باید توکن اضافه کنید؛ وضعیت پیکربندی ذخیره‌شده را از داشبورد بررسی کنید.

آیا پنل مدیریت از احراز هویت جداست؟

مدیریت افزونه‌ای است که به بسته احراز هویت نیاز دارد — کاربران باید وارد شوند تا به پنل مدیریت برسند.