3.1. ‫ایجاد پروژه‬

3.1.1. ‫ساختار پایه‬

‫یک پروژه‌ی مبتنی بر Backendpy ساختار اجباری و از پیش‌تعیین‌شده‌ای ندارد و این برنامه‌نویس است که تصمیم می‌گیرد برحسب سلیقه و نیازهایش، پروژه‌ی خود را به چه نحوی ساختاربندی کند.‬

‫برنامه‌نویس نیاز است یک ماژول پایتون با نام دلخواه (برای مثال main.py) ایجاد و نمونه‌ی کلاس Backendpy (که یک اپلیکیشن ASGI است) را داخل آن مقداردهی کند.‬

project/main.py
from backendpy import Backendpy

bp = Backendpy()

‫همچنین برای تنظیمات پروژه، فایل config.ini می‌تواند در همان مسیر در کنار ماژول ایجاد شود. برای اطلاعات بیشتر بخش ‫تنظیمات‬ را ببینید.‬

3.1.2. ‫اپلیکیشن‌ها‬

‫پروژه‌‌های Backendpy توسط اجزایی به‌نام Applicationها توسعه داده می‌شوند. همچنین امکان اتصال اپ‌های ثالث به پروژه وجود دارد.‬

‫برای ایجاد یک اپلیکیشن، ابتدا یک پکیج حاوی ماژول main.py در مسیری دلخواه در داخل پروژه (یا هر مسیر دیگری که قابلیت import داشته باشد) ایجاد کنید.‬

‫سپس در ماژول main.py یک اپلیکیشن باید نمونه‌ای از کلاس App را مقداردهی کنیم. تمام قسمت‌ها و تنظیمات یک اپلیکیشن توسط پارامترهای کلاس App تخصیص داده می‌شوند.‬

‫به عنوان مثال در مسیر /apps در داخل پروژه، بسته‌ای به نام hello و فایل main.py را به صورت زیر ایجاد می‌کنیم:‬

project/apps/hello/main.py
from backendpy.app import App
from .handlers import routes

app = App(
    routes=[routes])
project/apps/hello/handlers.py
from backendpy.router import Routes
from backendpy.response import Text

routes = Routes()

@routes.get('/hello-world')
async def hello_world(request):
    return Text('Hello World!')

‫همانطور که مشاهده می کنید ماژول اختیاری دیگری به نام handlers.py ایجاد کرده‌ایم و سپس Routeهای تعریف شده در آن را به پارامتر routes کلاس App ارسال کرده‌ایم. لیست کامل پارامترهای کلاس App در بخش ‫ساختار اپلیکیشن‌ها‬ توضیح داده شده است.‬

‫فقط مواردی که به کلاس App معرفی می‌شوند برای چارچوب مهم‌اند و ساختار داخلی اپلیکیشن‌ها کاملا اختیاری است.‬

‫اکنون اپلیکیشن ما آماده است و تنها نیاز است که آن را در فایل config.ini پروژه به‌صورت زیر فعال‌سازی کنیم:‬

project/config.ini
[apps]
active =
    project.apps.hello

‫برای اجرای پروژه، بخش ‫اجرا‬ را ببینید.‬

‫برای یادگیری نحوه‌ی توسعه‌ی اپلیکیشن‌ها به بخش ‫توسعه‌ی اپلیکیشن‬ مراجعه کنید.‬

3.1.3. ‫خط‌فرمان‬

‫دستور خط‌فرمان backendpy نیز می‌تواند برای ایجاد پروژه‌ها و اپلیکیشن‌ها استفاده شود. برای این کار ابتدا وارد مسیر موردنظر شده و سپس از دستورات زیر استفاده کنید:‬

3.1.3.1. ‫ایجاد پروژه‬

$ backendpy create_project --name myproject

‫برای ایجاد یک پروژه با اجزای نمونه‌ی کامل‌تر:‬

$ backendpy create_project --name myproject --full

3.1.3.2. ‫ایجاد اپلیکیشن‬

$ backendpy create_app --name myapp
$ backendpy create_app --name myapp --full