Реализовать приложение, с похожим функционалом, как, например, Telegram, Yandex.Messenger или WhatsApp.
Используемый образец UI: https://www.figma.com/file/jF5fFFzgGOxQeB4CmKWTiE/Chat_external_link?node-id=0%3A1.
- JavaScript;
- CSS, препроцессор Sass;
- NodeJS. версия ≥ 12;
- Webpack;
- TypeScript;
- Eslint, Prettier, Stylelint, Husky;
- Handlebars;
- HTTP, WebSockets;
- Jest;
- Docker;
- Netlify, Heroku
- авторизация зарегистрированного пользователя;
- регистрация нового пользователя;
- вывод списка доступных чатов;
- отображение количества непрочитанных сообщений;
- поиск чата; // TODO
- действия с чатом:
- просмотр;
- отправка сообщения с фиксацией времени отправки;
- прикрепить файл к сообщению; // TODO
- добавить/удалить пользователей в чат;
- просмотр/редактирование страницы профиля;
- валидация и сбор данных из форм авторизации, регистрации, изменения данных пользователя;
- при обновлении страницы данные сохраняются;
Склонируйте репозиторий и запустите команду для установки зависимостей
npm install
npm run dev
Запускает приложение в development mode в браузере по адресу http://localhost:1234.
npm run start
Запускает сервер Express с раздачей статики для запуска приложения по адресу http://localhost:3000.
npm run build
Запускает тесты с флагом --coverage
npm run test
Сборка и запуск контейнера c помощью Docker:
docker build -t app-name .
docker run -p 3000:3000 -d app-name
Также настроен precommit и линтинг