# Задачи ## Архитектура приложения Продумать и реализовать новую масштабируемую архитектуру приложения(файловая структура, подключаемые модули, роутинг, стейт менеджмент и тд). ### State manager Продумать необходимость менеджера стейтов(redux/?) и его применение. ## Реквест-моки Есть потребность на реквест-моки для реализации модулей без реализованных методов бэкенда, чтобы упростить и ускорить подключение методов по мере их реализации бэкендом. ## Единый функционал Modal/Drawer Есть необходимость в едином функционале открытия/получения данных с модалок и дроверов. Сейчас происходит копирование из модуля в модуль функционала, написанного на коленке без адекватной типизации. ## Локализации Подключить функционал и реализовать базовую архитектуру локализации приложения. ## Отвязать логику UI Сейчас UI сильно завязан(в основном грид) от функционала приложения и jrpc, что мешает его вынести в отдельную библиотеку. ## Вынести UI как зависимость После отвязывания UI, вынести UI в отдельную библиотеку, что позволит переиспользовать как библиотеку компонентов. Так же появится возможность вынести документацию в отдельный репозиторий. ## Документация Сейчас документация проекта и UI в одном месте. Если выносить UI в библиотеку, надо ее разделить? ## Тесты модулей Сейчас отсутствует даже базовое тестирование модулей. Реализовать функционал тестирования модулей и предоставить пример. ## VSCode конфиги Перенести важные конфиги VSCode в репозиторий. ## Тесты UI Реализовать тесты для UI расширенного функционала базовых antd/новых компонентов. ## Роутинг Продумать переход с одной формы на другую с передачей данных и колбеками. ## Grid Динамический пропс columns. Сейчас учитываются колонки при первом рендере, последующие изменения пропса не учитываются. ## Pivot grid Продумать и реализовать функционал pivot в гриде/новом компоненте? ## Дать более гибкие настройки для Grid'а * Фильтр без кнопки + live search? * Кастомизация кнопки поиска ## Dnd в transfer Реализовать функционал DnD с сортировкой в компоненте Transfer. ## Типизация Скорректировать и дописать типизацию для компонентов в UI. ## Тесты/проверка на ошибки Реализовать проверку тестов и кода на наличие ошибок и при создании пр, при их наличии - не давать коммитить. ## Линтер Актуализировать настройки линтера ## Неиспользуемые стили Ввести проверку неиспользуемых стилей ## ? * Пагинации и стейт. Есть ли возможность использовать подстановку данных при гриде, контролируемым бэкендом? --- # Блокнот #### Codestyle Именование типов T/I => ! #### создание модуля/компонента ##### Helpers ... ##### Хуки useHook / index.ts? ##### Тесты ? ```text /app ┣ ... ┣ /src ┃ ┗ /modules ┃ ┗ /frontpage ┃ ┗ /module ┃ ┣ module.tsx ┃ ┗ module.test.tsx ┗... ``` ##### Предлагаемая структура ``` /app ┣ ... ┗ ... ``` #### предложения: ##### Ануар: 1. сложить интерфейсы в одну единую папку, сейчас либо дублируется во многих местах либо импортируется с чужого модуля. 2. единый формат нейминга ф-ий. действиеНадЧем, onDeleteDirections вместо onDirectionsDelete. 3. Возможно стоит предусмотреть тестирование ответов бэка на соответствие нашим вручную описанным интерфейсам.