Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 4.29 KB

README-FA.md

File metadata and controls

60 lines (42 loc) · 4.29 KB

جنگو سوپر چنلز | EN

وب اپلیکیشن اتاق چت که بر اساس django_super_channels و با پروتکل های websockets پیاده سازی شده است.

Python Django redis Sqlite djangorestframework js

Django Super Channels یک برنامه چت روم مبتنی بر جنگو چنلز است. طراحی این اپلیکیشن، چت به صورت گروهی است.

فرآیند کار

روند طراحی و عملکرد سوپر کانال ها به این صورت است که آدرس اتاق گفتگو در صفحه فهرست دریافت می شود. (در صورت موجود بودن چت روم وارد می شود و در صورت نبود چت روم ایجاد می شود). پس از ورود فرد به اتاق می توانید با افرادی که وارد اتاق گفتگو شده اند ارتباط برقرار کنید.

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

جنگو چنلز در قالب یک برنامه پیام‌رسان طراحی شده است که کلاینت آن جاوا اسکریپت است و بک‌اند آن یک اتصال مبتنی بر وب سوکت با جنگو ایجاد کرده است. با این حال بیشتر عملیات نمایش بر سمت کلاینت میباشد و بک اند تنها طبق نیاز json های خود را ارسال میکند.

علاوه بر قسمت سوپر چت، بخش داشبورد برای کاربران در نظر گرفته شده است که بخش ها و تنظیمات حساب کاربری کاربر را قابل دسترسی میکند. اصولا نمایش تعداد پیغام های کاربر، تعداد چت روم هایی که کاربر در آن حضور دارد به همراه بخش حذف و نمایش چت رومَ، آخرین ورود به حساب و تاریخ ثبت نام را به کاربر نمایش میدهد. بخش های دیگر این داشبورد شامل بخش های زیر میباشد:

  1. تغییر رمز عبور.
  2. تنظیمات حساب کاربری و ویرایش نمایه کاربر.
  3. بخش خروج از حساب کاربری.

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

کارایی

[!NOTE] هنگام نصب کتابخانه ها و اجرای پروژه بهتر است از محیط مجازی استفاده کنید.

[!WARNING] قبل از اجرا، redis را روی سیستم نصب کنید.
redis برای ویندوز را دانلود و نصب کنید و در «cmd» عبارت «redis-server» را برای اجرای redis تایپ کنید.

برای نصب کتابخانه های مورد نیاز:

pip install -r requires.txt

برای اجرای پروژه:

python manager.py runserver