Клиент серверный чат. Серверная часть поддерживается базой данных PostgreSql. Графический интерфейс написан с использованием Qt. Функционал:
- Сервер приложения чата, обрабатывающий запросы от клиентсикх приложений или запросов отправленных командой курл
- Клиентское приложение: 2.1 В графичечкой версии поддерживаются возможности регистрации, авторизации, выбора чат-группы, посылки сообщений и выбора языка интерфейса 2.2 В дополнении в консольной версии поддерживается возможность создания новых групп, удаления групп, добавления и исключения пользователей руппы от лица админимтратора группы
- Создать PostgreSQL базу данных под названием
chat
, добавить рольadmin
без пароля - К этой базе данных применить скрипты из папки
psql
- Установить wheel, лежащий в папке
dist
- Для запуска сервера:
import server.http_server as sr sr.run()
- Для запуска клиента:
import client.demo_client as cl cl.run()
- Установить в виртуальном окружении пакеты PyQt5, psycopg2, urllib3, requests
- Запустить сервер
- Запустить желаемое число клиентов
- Readme с картинками
- Шаблон графического интерфейса для авторизации
- Шаблон графического интерфейса для регистрации
- Шаблон графического интерфейса для чата
- Cервер, с работающими запросами по логину логауту регистрации отправке сообщений в глобальный чат. Сервер многопоточный, каждый поток отвечает за обработку подсоединенного клиента. Ну и есть главный поток, в котором серверный сокет слушает новые соединения с ним.
- Pеализована структура TokenConn- каждому авторизованному пользователю выдаётся соединение к базе данных. То есть потенциально пользователям можно работать с неким общим ресурсом из базы, но мы ещё это не продумали.
- Hа данный момент благодаре базе данных сохраняется информация о зарегистрированных пользователях, которая подтягивается сервером при запуске.
- Немного тестов
- Перевод интерфейса
- Собрано в wheel пакет
- Построена логика клиента - синхронизированная работа нити записи и нити чтения
- Парсинг ответа и построение запроса
- Функции: соединение с сервером, регистрация, логин, логаут, обмен сообщениями
- Связать созданные шаблоны с функционалом клиента
- Реализовать шаблоны графического интерфейса и связать с функционалом когда он будет реализован для оставшихся идей в пункте предполагаемый функционал
- реализация логики в базе данных по сохранению созданных чатов и их соотношением с пользователями
- добавление нужных хендлеров по созданию и удалению чата
- Перевод на большее число языков
- Большее покрытие тестами
- Засунуть кнопку перевода в более красивое место
- Функции и структуры для общения клиента в разных чат-румах
- Пофикшить всякое(с) Sam