Атомный чат





码云
在线地址 www.genal.fun (не работает, не планируется развёртывание)
Есть предложения — обращайтесь в раздел issues.
Проект: описание
😛 В свободное время решил создать чат для укрепления навыков работы с фронтендом и начал разработку «Атомного чата» 24 июня 2020 года.
😈 Проект полностью написан на TypeScript для удобства дальнейшего развития функционала.
🧐 На данный момент чат обладает всеми необходимыми функциями, но разработка новых функций приостановлена! Если вам интересно, вы можете самостоятельно разветвить проект и продолжить разработку. Я буду обновлять функционал, когда у меня будет время!
Интерфейс проекта
ПК
Мобильное устройство

Функционал
- Поддержка мобильных устройств.
- Изменение информации о пользователе (аватар, имя пользователя, пароль).
- Групповой и личный чаты.
- Создание группы, присоединение к группе, выход из группы, поиск группы по ключевым словам.
- Добавление друзей, удаление друзей, поиск пользователей по ключевым словам.
- Разбиение сообщений на страницы.
- Смайлики.
- Отправка и предварительный просмотр изображений.
- Статистика онлайн-пользователей.
- Настройка тем.
- Напоминание о подключении.
Обзор технологий
-
TypeScript: надмножество JavaScript, которое предоставляет систему типов и улучшает читаемость и удобство сопровождения кода.
-
Vue 2.6.x: прогрессивный фреймворк для фронтенда.
-
Socket/io: реализация реального времени, сторонняя библиотека WebSocket.
-
Vuex: режим управления состоянием, разработанный специально для приложений Vue.js.
-
Nestjs: фреймворк для создания эффективных и расширяемых серверных приложений Node.js, основанный на TypeScript и объединяющий концепции OOP, FP и FRP.
-
Typeorm: поддерживает новейшие функции JavaScript и предоставляет дополнительные функции для разработки любых приложений, использующих базы данных.
-
ES6+: использование синтаксиса ES6+, такого как стрелочные функции и async/await, делает код более удобным.
-
SASS (SCSS): язык препроцессинга CSS, который позволяет создавать сложные дизайны с минимальными усилиями.
Структура таблиц базы данных

Конфигурация среды
- База данных MySQL и база данных чата (обратите внимание, что формат базы данных — utf8mb4).
- Версия узла v10.16.3.
Запуск проекта
- Фронтенд-проект
cd genal-chat-client
npm i
npm run serve
-
Конфигурация MySQL
Если MySQL не подключается и выдаёт ошибку error: ER_NOT_SUPPORTED_AUTH_MODE, это может быть связано с несовместимостью версии MySQL. Обратитесь к этой статье https://blog.csdn.net/qq_41831345/article/details/83150502
Базы данных SQL нет, просто измените пароль в модуле приложения (app.module.ts
) для базы данных chat
.
-
Бэкенд-проект
cd genal-chat-server
npm i
npm run start:dev
История версий
Нажмите, чтобы увидеть
v1.0.0
Функции
- Регистрация пользователей.
- Регистрация групп.
- Групповые чаты.
Интерфейс v1.0.0

v2.0.0
Функции
- Чаты в группах и личные чаты.
- Создание групп, присоединение к группам, поиск групп по ключевым словам.
- Поиск друзей по ключевым словам, добавление друзей.
- Смена имени пользователя и загрузка аватара.
- Смайлы.
- Разделение сообщений на страницы.
Интерфейс v2.0.0
Аналогичен интерфейсу v1.0.0.
v3.0.0
Функции
- Чаты в группах и личные чаты.
- Создание групп, присоединение к группам, поиск групп по ключевым словам.
- Поиск друзей по ключевым словам, добавление друзей.
- Загрузка и предварительный просмотр изображений.
- Смена имени пользователя и загрузка аватара.
- Смайлы.
- Разделение сообщений на страницы.
Интерфейс v3.0.0
Аналогичен интерфейсу v2.0.0.
v4.0.0
Функции
- Чаты в группах и личные чаты.
- Создание групп, присоединение к группам, поиск групп по ключевым словам.
- Поиск друзей по ключевым словам, добавление друзей.
- Загрузка и предварительный просмотр изображений.
- Смена имени пользователя и загрузка аватара.
- Смайлы.
- Разделение сообщений на страницы.
- Совместимость с мобильными устройствами.
Интерфейс v4.0.0
Аналогичен интерфейсу v2.0.0.
v5.0.0
Функции
- Чаты в группах и личные чаты.
- Создание групп, присоединение к группам, выход из групп, поиск групп по ключевым словам.
- Удаление друзей, поиск друзей по ключевым словам, добавление друзей.
- Загрузка и предварительный просмотр изображений.
- Смена имени пользователя и загрузка аватара.
- Смайлы.
- Разделение сообщений на страницы.
- Подсчёт онлайн-пользователей.
- Напоминания о подключении.
Интерфейс v5.0.0
v6.0.0
Функции
- Совместимость с мобильными устройствами.
- Возможность изменять информацию о пользователе (аватар, имя, пароль).
- Чаты в группах и личные чаты.
- Создание групп, присоединение к группам, выход из групп, поиск групп по ключевым словам.
- Удаление друзей, поиск друзей по ключевым словам, добавление друзей.
- Загрузка и предварительный просмотр изображений.
- Смена имени пользователя и загрузка аватара.
- Смайлы.
- Разделение сообщений на страницы.
- Подсчёт онлайн-пользователей.
- Выбор темы.
- Напоминания о подключении.
Интерфейс v6.0.0
Автор
GitHub: edison.
Список участников
mtnbgx, BoBoooooo, Nyaasu66, BeanCookie (список участников не упорядочен).
Как развернуть
[Инструкция по развёртыванию «Атомного чата»](./Атомный чат: инструкция по развёртыванию.md).
Дополнительная информация
Создание мощного веб-чата с использованием TypeScript.
Комментарии ( 0 )