Яндекс.Домашка · Build Status · tested with jest · Maintainability · Test Coverage

Демо: https://yandex-domashka.herokuapp.com/

Что сделано

  • Базовая верстка на React
  • API сервер на Express с использованием TypeSript
  • Фронтенд за заметками ходит в API
  • Интеграционные тесты с использованием библиотеки supertest
  • Модульные тесты (API)
  • Проверка линтерами JavaScript(TypeScript) и CSS кода
  • Continuous Delivery с помощью travis-ci и heroku (если на CI прошли тесты и линетры - билд выливается на Heroku)
  • Настроен Storybook
  • Настроен husky для проверки кода линтерами и тестами перед коммитом

Что сделать

  • Показывать Spinner во время загрузки заметок
  • На этапе сборки вырезать локали momentjs (Заменил на библиотеку Luxon)
  • Посмотреть верстку в других браузерах (Есть косяки)
  • Добавить анимаций, а то скучновато выглядит
  • Переписать frontend на TypeScript
  • Добавить взаимодействие с API (POST, PUT, PATCH)
  • Пересмотреть логику компомента Note.jsx (слишком сложно понять что там происходит)
  • Пересмотреть работу с состоянием на клиенте
  • Добавить тестирование снапшотами на клиенте

Было бы хорошо сделать

  • bem-react
  • Прикрутить MongoDB - бесплатно на MLab
  • Написать e2e тесты (Cypress, WebdriverIO, Selenium, etc)
  • Посмотреть как Slack и Facebook отображают UI когда загружаются данные - заменить Spinner на это

Основные скрипты

  • build - Сборка проектов (backend & frontend)
  • start - Запуск приложения в development режиме
  • test - Запуск unit и integration тестов
  • test:e2e- Запуск e2e тестов
  • lint - Запуск линтеров