https://github.com/prodbygodfather/django-super-channels
Channels wraps Django’s native asynchronous view support, allowing Django projects to handle not only HTTP, but protocols that require long-running connections too - WebSockets, MQTT, chatbots, amateur radio, and more.
https://github.com/prodbygodfather/django-super-channels
django-channels django-channels-chat django-channels-framework
Last synced: 6 months ago
JSON representation
Channels wraps Django’s native asynchronous view support, allowing Django projects to handle not only HTTP, but protocols that require long-running connections too - WebSockets, MQTT, chatbots, amateur radio, and more.
- Host: GitHub
- URL: https://github.com/prodbygodfather/django-super-channels
- Owner: ProdByGodfather
- License: mit
- Created: 2023-12-18T20:29:13.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-04-14T09:05:01.000Z (about 1 year ago)
- Last Synced: 2024-04-15T08:18:35.708Z (about 1 year ago)
- Topics: django-channels, django-channels-chat, django-channels-framework
- Language: Python
- Homepage:
- Size: 6.12 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README-FA.md
- License: LICENSE
Awesome Lists containing this project
README
# جنگو سوپر چنلز | [EN](README.md)
وب اپلیکیشن اتاق چت که بر اساس `django_super_channels` و با پروتکل های websockets پیاده سازی شده است.
[](#django-channels)
[](#django-channels)
[](#django-channels)
[](#django-channels)
[](#django-channels)
[](#django-channels)**Django Super Channels** یک برنامه چت روم مبتنی بر جنگو چنلز است.
طراحی این اپلیکیشن، چت به صورت گروهی است.# فرآیند کار
روند طراحی و عملکرد سوپر کانال ها به این صورت است که آدرس اتاق گفتگو در صفحه فهرست دریافت می شود. (در صورت موجود بودن چت روم وارد می شود و در صورت نبود چت روم ایجاد می شود).
پس از ورود فرد به اتاق می توانید با افرادی که وارد اتاق گفتگو شده اند ارتباط برقرار کنید.
طبق تصویر وقتی پیامی از طرف کاربر مهدی ارسال می شود، پیام از طریق وب سوکت به سرور ارسال می شود.
سرور یک بار پیام را در پایگاه داده ذخیره می کند و بدون نیاز به درخواست دوباره همان پیام را برای کاربر مهدی و سایر کاربران ارسال می کند.
تمامی پیام ها به صورت json از طریق کلاینت دریافت می شود و قسمت اصلی طراحی و نمایش پیام ها به عهده مشتری می باشد.جنگو چنلز در قالب یک برنامه پیامرسان طراحی شده است که کلاینت آن جاوا اسکریپت است و بکاند آن یک اتصال مبتنی بر وب سوکت با جنگو ایجاد کرده است.
با این حال بیشتر عملیات نمایش بر سمت کلاینت میباشد و بک اند تنها طبق نیاز json های خود را ارسال میکند.
علاوه بر قسمت سوپر چت، بخش داشبورد برای کاربران در نظر گرفته شده است که بخش ها و تنظیمات حساب کاربری کاربر را قابل دسترسی میکند. اصولا نمایش تعداد پیغام های کاربر، تعداد چت روم هایی که کاربر در آن حضور دارد به همراه بخش حذف و نمایش چت رومَ، آخرین ورود به حساب و تاریخ ثبت نام را به کاربر نمایش میدهد.
بخش های دیگر این داشبورد شامل بخش های زیر میباشد:
1. تغییر رمز عبور.
2. تنظیمات حساب کاربری و ویرایش نمایه کاربر.
3. بخش خروج از حساب کاربری.در واقع بخش اصلی، داشبورد کاربر میباشد که دسترسی به آن فقط با ورود به حساب کاربری امکان پذیر میباشد.
## کارایی> [!NOTE]
> هنگام نصب کتابخانه ها و اجرای پروژه بهتر است از **محیط مجازی** استفاده کنید.> [!WARNING]
> قبل از اجرا، **redis** را روی سیستم نصب کنید.
> [redis برای ویندوز](https://github.com/tporadowski/redis/releases) را دانلود و نصب کنید و در «cmd» عبارت «redis-server» را برای اجرای redis تایپ کنید.**برای نصب کتابخانه های مورد نیاز:**
```
pip install -r requires.txt
```**برای اجرای پروژه:**
```
python manager.py runserver
```