Учебный проект, разработанный в рамках курса "Мидл фронтенд-разработчик". Написан на чистом JS(TS).
Реализованы следующие фичи:
- авторизация/регистрация/редактирование пользователей
- создание/удаление/редактирование чатов
- добавление/удаление пользователей из чата
- пересылка сообщений на основе Websocket
- роутинг
В разработке используется своя реализация жизненного цикла компонент на чистом JS в связке с паттерном шины событий.
Написаны собственные абстракции над XMLHttpRequest и WebSocket для упрощения взаимодействия с API.
В проекте используются:
- методология FSD для организация структуры папок проекта
- Typescript
- SASS
- Handlebars
- Jest
- Webpack
- ESLint, stylelint, prettier, husky
- GitHub Actions
- Docker
Ссылка на приложение - Netlify, Render.com
// Установка зависимостей
$ npm install
// Запуск проекта в режиме разработки
$ npm run dev
// Сборка проекта в папку `dist`
$ npm run build
// Сборка проекта в папку `dist` и раздача статики из нее с помощью `express`
$ npm run start
// Запуск тестов
$ npm run test