این سایت مقاله ای با جنگو نسخه۵ نوشته شده. پروژه api-base هست و با Django Rest Framework نوشته شده است و برای قسمت چت و نوتیفیکیشن از channel استفاده شده .
برای دستیابی به داکیومنت پروژه بعد از اجرا کردن کد ها به مسیر /docs/
بروید
برای اجرای کد ها این مراحل را پیش ببرید
- دیدن و اضافه کردن و ادیت و حذف پست ها و استوری ها
- غیر فعال شدن استوری ها بعد از ۲۴ ساعت
- قابلیت چت کردن با بقیه افراد
- فالو یا انفالو کردن افراد
- ارسال نوتیفیکیشن
- لاگین و رجیستر کردن با ارسال کد به ایمیل
- کامنت برای پست و استوری ها
- سرچ کردن پست ها براساس تگ هر پست
- تغییر پروفایل
- ایجاد چند فیلم یا عکس برای یک پست یا استوری
همانطور که میدانید این پروژه با جنگو نوشته شده و از ساختار فولدر بندی جنگو ارث بری میکند
بعد از دانلود سورس کد وارد پوشه کد ها بشید و برای نصب پکیج های مورد نیاز پروژه دستور پایین رو بزنین
pip install -r requirements.txt
لطفا تا نصب شدن پکیج ها صبر کنید ممکنه به علت هایی مثل سرعت بشدت بالا در ایران یا مشکل فیلترینگ اندکی طول بکشه
با زدن این دستور دیتابیس ایجاد میشود
python manage.py migrate
دستور زیر را اجرا کنید
python manage.py collectstatic
با دستور زیر پروژه رو ران کنید
python manage.py runserver
برای اینکه به پنل ادمین دسترسی داشته باشید باید یک کاربر ادمین بسازید با دستور زیر این کارو بکنید
python manage.py createsuperuser
و مقادیری که از شما خواسته میشود رو وارد کنید
- حذف redis: یک سری قابلیت ها در نسخه قبلی که توسعه دادم وجود داشت که تغییر دادم مثل استفاده از ردیس در سیستم caching و channel-layer پروژه که به علت اینکه در فرایند ران شدن پروژه یک مرحله اضافه تر میکرد و ممکن بود برای افرادی که میخان این پروژه رو ران کنن و خروجی رو ببینن سخت باشه بخاطر همین بعد ها در اپدیتی که کردم به جای ردیس از FileBasedCache استفاده کردم
- حذف celery:در نسخه های اول برای سیستم بستن هر استوری بعد ۲۴ ساعت از سلری استفاده کرده بودم که برای اینکه اجرای کد راحت تر باشه و نیازی به ران کردن celery-beat celery-worker نباشه از یک قطعه کد خیلی کوتاه و بهینه تر استفاده کردم
- داکرایزر کردن و بالا اوردن پروژه بر روی nginx:فایل هاشو ایجاد کردم و در اولین فرصتی که بتونم این کارارو انجام میدم