Skip to content

korniloff75/flatChat

Repository files navigation

flatChat

Чат с использованием HTML + JS + PHP. Рабочий пример -- https://flatchat.js-master.ru

Чат хранит свои данные в файлах (flat file system), без использования баз данных, что сокращает процедуру его установки до простого копирования.

Движок чата имеет расширенные возможности, позволяющие пользователям загружать в посты изображения, озвучивать существующие посты, осуществлять голосовой ввод текста. Для ускорения работы движок ограничивает количество загружаемых в чат постов. При этом остальные посты остаются доступными в архивах чата.

Тэгирование пользователей происходит в тихом режиме. То есть в чате не появляется никаких дополнительных оповещений, но при этом копии всех постов с обращениями к текущему пользователю выводятся ниже чата, что устраняет необходимость просмотра всей ленты переписки для поисков обращений к себе.

Имеется возможность кастомизации шаблонов. Можно создать при помощи них не только абсолютно любой внешний вид, но и расширить базовый функционал чата своими серверными или клиентскими скриптами. Подробнее здесь -- https://github.com/korniloff75/flatChat/blob/dev/templates/Readme.md

В чате реализована простейшая защита от фейковых аккаунтов. Во время каждой сессии пользователь должен ввести свой секретный ключ. При первом вводе ключ сохраняется и далее по нему производится идентификация ползователя.

Чат связывается с сервером через ajax long polling. К сожалению, с веб-сокетами я так и не смог разобраться самостоятельно. Если кто-то поможет перевести движок на них, буду признателен.


Для смены админ-пароля удалите файл /assets/adm.json. После этого, при первой попытке залогиниться, введите любой пароль, который станет административным.

При заходе под Администратором появляются возможности редактирования / удаления постов. Удаление постов может быть как одиночным, так и пакетным. Добавлена возможность бана пользователей.


Рекомендуется организовывать доступ к чату по протоколу https, поскольку иначе не будут работать такие фичи, как голосовой ввод текста и показ уведомлений о новых сообщениях.

Лицензия -- https://github.com/korniloff75/flatChat/blob/dev/LICENSE.md

Прототип до начала разработки -- https://protocoder.ru/minichat