Опубликованное в Netlify приложение: https://bucolic-paprenjak-cebd36.netlify.app
Cамостоятельная практическая работа, выполняемая в рамках обучения на курсе Мидл фронтенд-разработчик от Яндекс.Практикум на спринтах №1-4.
Спринт 4 из 4
- Свёрстан макет приложения чата.
- Настроена сборка с использованием Parcel и раздача статики сервером на Express
- Свёрстаны основные страницы приложения с использованием шаблонизатора pug
- Приложение автоматически деплоится на Netlify из ветки
deploy
- Переход на TypeScript
- Реализация шины событий (
EventBus.ts) - Реализация компонента (
Block.ts) с собственными пропсами, жизненным циклом и реактивным ререндером при изменении пропсов (использованыProxy) - Приложение переписано с учётом новых компонентов
- На основных формах реализована клиентская валидация
- Реализация аналога fetch для запросов к серверу (
HTTPTransport.ts)
- Реализация клиентского роутера (
Route.ts,Router.ts) - Добавлен слой
api - Добавлен слой
controllers - Реализация центрального хранилища (
Store.ts) - Использован
WebSocketдля сообщений чата - Реализован виртуальный список для сообщений чата (подгрузка сообщений по частям)
- Частично покрыто тестами (
Mocha,Chai) - В приложении реализованы следующее возможности:
- Регистрация
- Логин
- Выход
- Обновление данных профиля
- Изменение аватара
- Отправка и получение текстовых сообщений
- Переход с Parcel на Webpack
- Dockerfile для создания docker -контейнера с дистрибутивом и сервером на Express
- Настроен pre commit (husky)
Установка зависимостей проекта:
npm iПодготовка проекта (установка Husky):
npm run prepareСборка проекта. Используемый сборщик Webpack:
npm run buildСборка контейнера docker (./dist + ./server):
npm run buildСтарт сервера Express для раздачи статики из ./dist:
npm run startЗапуск тестов
npm run testСтатический анализ css и scss файлов. Используются правила Airbnb.
npm run stylelint