Thanks to visit codestin.com
Credit goes to github.com

Skip to content

andmerk93/WebSocket_chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebSocket_chat

Проект собран на FastAPI с Веб-сокетами, cделан в качестве тестового задания в 2023

По большому счету, сделано по примеру из официальной документации FastAPI с небольшими переделками.

Описание

Одностраничный многопользовательский чат на веб-сокетах. Страница динамическая, обрабатывает все действия без перезагрузки. С помощью формы вы можете отправить сообщение на сервер, где оно будет принято и добавлено время получения этого сообщения. Далее, на сервере формируется JSON и рассылается всем подключенным участникам. Участник, отправивший сообщение, видит вместо никнейма "You". Когда, один из участников покидает чат, все остальные получают уведомление. Логи не сохраняются, пользователи не авторизуются, базы данных не подключаются.

Красоту в CSS навёл Paks.

Требования:

  • Python 3
  • FastAPI
  • uvicorn
  • и их зависимости

Установка и запуск:

  • клонировать репозиторий на машину, с которой будет будет запускаться сервис (либо по SSH-ссылке, либо скопировать и распаковать zip-архив)
git clone https://github.com/andmerk93/WebSocket_chat.git
  • На машине должен быть установлен Python актуальной версии (тестировалось на 3.8, 3.10)
  • развернуть виртуальное окружение python в папке с проектом (WebSocket_chat)
python3 -m venv venv
  • активировать виртуальное окружение для linux/unix
source ./venv/bin/activate 
  • для Windows, должно быть разрешено выполнение скриптов Powershell
venv\Scripts\activate
  • с запущенным виртуальным окружением нужно выполнить установку требуемых компонентов
pip install uvicorn[standart] fastapi
  • запустить программу
python3 server_chat.py

About

FastAPI + WebSocket

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published