Skillfactory FPW homework
Web-application example to show JavaScript frontend and Django framework backend interaction.
Нам необходимо создать базовый мессенжер со следующими функциями:
- отправка и получение сообщений;
Отправка и получение сообщений реализованы через Channels Django , которые устанавливают длительное соединение с пользователем по протоколу WebSockets.
- создание, редактирование и удаление групповых чатов и переписка в них;
Пользователь открывает свою комнату (Room) или присоединяется к действующим комнатам, которые основываются на технологии объединения Django Channels в группы Groups для обмена сообщениями между разными каналами.
Пользователи подключаются и выходят из комнат динамически, вход и выход обозначаются сообщением от пользователя.
Сообщения отправляются всем пользователям в комнате.
Сохранение сообщений для пользователей, покинувших комнату, не предусмотрено. При выходе всех пользователей из комнаты она становится недоступной.
- редактирование личной информации пользователя (имя и аватар);
Зарегистрированным пользователям доступна страница Профиль с возможностью добавления/редактирования имени, емейла, короткого текста о себе и аватара.
- просмотр списка других пользователей с переходом на отправку им сообщений.
Находясь в комнате чата пользователь видит динамический список других пользователей, подключенных к этой же комнате.
При выборе конкретного пользователя открывается форма для отправки личных сообщений. У получателя сообщения отображаются в общем чате с пометкой, что они персональные.
Platform-depending options and libraries are adjusted to Windows.
Clone repository to ChatBoard_dir directory
git clone https://github.com/MapleBloom/ChatBoard
Generate Django secret-key
python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
At the inner prjchat directory (project dir) add venv/settings.env file for private settings
SECRET_KEY = ''
At ChatBoard_dir directory, start and adjust virtual environment
python -m venv venvCB
venvCB\scripts\activate
cd .\ChatBoard\
pip install -r requirements.txt
Mark ChatBoard directory as Sources root
Create superuser
python manage.py createsuperuser
Start server
python manage.py runserver
Main page works at url http://127.0.0.1:8000/ - local host that server advises you at start message
⬆️ to begin
Star ⭐️⭐️⭐️⭐️️⭐️ my project if you like it or think it is useful