Тестовое задание по требованиям из requirements.md
.
Проект развернут на Heroku
npm i
- установить зависимости.
npm run dev
- разработка на http://localhost:3000/
.
Запускает параллельно:
npm run dev:client
- сборка клиентский файлов в watch-режиме.npm run dev:server
- сборка серверных файлов в watch-режиме и перезапуск сервера при изменении серверных файлов.
npm start
- build сборка и запуск сервера на http://localhost:3000/
.
При первом запуске сервера хранилище заполняется тестовыми данными из
src/server/default-deals.ts
src/client/index.tsx
- точка входа клиентской части
src/client/components
- компоненты интерфейса по методологии Atomic Design
src/client/redux
- управление глобальным состоянием приложения, взаимодействие с бэком
src/server/index.ts
- точка входа серверной части части
- Webpack
- TypeScript
- React + Redux
- React Router v4
- Styled components (для глобальных стилей - postcss)
- NodeJS + Express
- LowDB
- Более тщательная валидация полей при отправке сделки на клиенте и на сервере
- Для соответствия макету, график должен выходить за поля страницы по слдеюущим причинам:
- на макете точка, лежащая на левой границе выходит за график (minor, либо баг дизайна).
- на макете не учтены ставки больше 99 - они вылезают за поля страницы. Сейчас в качестве быстрого решения при появлении сделок выше 99 уменьшается размер шрифта подписей.
- Подключить tslint.
- Серверный рендеринг.
- Много сделок
- Нет сделок
- Одна сделка
- Удаление сделки
- Добавление сделки
- Добавление сделки с большой (по сравнению с другими) суммой и ее удаление.