Files
MathApp/README.md
2026-08-11 16:57:14 +03:30

72 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Tadrisino API
این پروژه بخش API و سرویس‌های سمت سرور سامانه Tadrisino را شامل می‌شود و ساختار آن به‌صورت ماژولار طراحی شده است.
ساختار پروژه به گونه‌ای است که هر بخش اصلی سیستم در یک اپلیکیشن مستقل قرار گرفته و مدل‌ها، منطق مربوط به API، Serializerها، Viewها، URLها و Migrationهای موردنیاز هر بخش در همان اپ مدیریت می‌شوند.
اجرای پروژه
ابتدا محیط مجازی را ایجاد و فعال کنید:
python3 -m venv venv
source venv/bin/activate
سپس وابستگی‌های پروژه را نصب کنید:
pip install -r requirements.txt
اجرای Migrationها:
python manage.py migrate
در صورت نیاز می‌توان یک کاربر مدیریتی ایجاد کرد:
python manage.py createsuperuser
در نهایت پروژه را اجرا کنید:
python manage.py runserver
مستندات API
پس از اجرای پروژه، مستندات API از طریق Swagger در دسترس است:
http://127.0.0.1:8000/api/docs/
مستندات Redoc:
http://127.0.0.1:8000/api/redoc/
پنل مدیریت:
http://127.0.0.1:8000/admin/
ساختار پروژه
config/
accounts/
content/
progress/
ai_tutor/
subscription/
payment/
discount/
affiliate/
support/
notifications/
family/
بخش‌های مختلف پروژه شامل مدیریت حساب کاربری، محتوای آموزشی، پیشرفت و عملکرد کاربر، سیستم آموزشی، اشتراک، پرداخت، تخفیف، همکاری در فروش، پشتیبانی، اعلان‌ها و مدیریت اعضای خانواده هستند.
نکات فنی
* ساختار پروژه به‌صورت ماژولار و قابل توسعه طراحی شده است.
* APIها از طریق مسیرهای مشخص و مستند قابل دسترسی هستند.
* احراز هویت و مدیریت Session برای استفاده از APIها در نظر گرفته شده است.
* پنل مدیریت برای مدیریت داده‌های اصلی سیستم فراهم شده است.
* Migrationهای مربوط به مدل‌های پروژه در هر اپ نگهداری می‌شوند.
* ساختار فعلی پروژه امکان توسعه و اضافه شدن قابلیت‌های جدید را بدون ایجاد تغییرات گسترده در بخش‌های موجود فراهم می‌کند.
تست
برای بررسی و تست APIها می‌توان مستقیماً از Swagger استفاده کرد. همچنین برای ایجاد و مدیریت داده‌های اولیه، پنل مدیریت Django در دسترس است.