Skip to content

Веб-мессенджер (vanilla-TypeScript-клиент под API Яндекса)

Notifications You must be signed in to change notification settings

sapomaro/yandex-messenger

 
 

Repository files navigation

Описание

Это веб-мессенджер (клиентская часть под API Яндекса) – учебный проект в рамках прохождения курса «Мидл фронтенд-разработчик» в «Яндекс.Практикуме».

Движок веб-приложения реализован на чистом Typescript с применением самописных модулей для роутинга, шаблонизации, работы с собственными реактивными компонентами, событиями и XHR-запросами. За два с половиной месяца написано около 5500 строк кода (120 файлов, 200 коммитов).

Используемые зависимости: Express, Webpack с лоадерми, Sass, ESLint, Stylelint, Jest, MSW, Husky и др.

Собранная рабочая desktop-версия:

Команды

Запуск dev-сервера Webpack (http://localhost:3000/):

npm run dev

Запуск сборки и Express-сервера для раздачи статики (http://localhost:3000/):

npm run start

Проверка кода компилятором tsc, линтерами ESLint и Stylelint:

npm run lint

Запуск тестов Jest & msw (ими покрыты основные модули в /src/core/):

npm test

Для вывода развёрнутого отчёта по тестированию (включая покрытие):

npm run testreport

Для локальной сборки и запуска контейнера через Docker:

docker build -t messenger .
docker run -p 3000:3000 -d messenger

В проекте используется Husky для запуска линтеров и тестов перед git-commit.

Моменты, которые предстоит решить

  • Сделать макет для мобильной версии

  • Добавить в чате функцию прикрепления изображений, файлов и локации

  • В тестах у XHR не срабатывает таймаут (/src/core/tests/HTTPTransport.test.ts:31)

Прочее

Ссылка на макет в Figma: https://www.figma.com/file/jF5fFFzgGOxQeB4CmKWTiE/Chat_external_link?node-id=0%3A1

About

Веб-мессенджер (vanilla-TypeScript-клиент под API Яндекса)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 89.4%
  • SCSS 9.3%
  • JavaScript 1.1%
  • Dockerfile 0.2%