---
# System prepended metadata

title: Задачи

---

# Задачи
## Архитектура приложения
Продумать и реализовать новую масштабируемую архитектуру приложения(файловая структура, подключаемые модули, роутинг, стейт менеджмент и тд).

### 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. Возможно стоит предусмотреть тестирование ответов бэка на соответствие нашим вручную описанным интерфейсам.