Требуется создать сайт по макету в фигме. Внимательно прочитайте задание, и особенно раздел Резюме. После завершения работ создайте репозиторий и отправьте ссылку вашему HR’у. ****Необходимый стек: TypeScript, React, SASS, а так же всё что вам понадобится (кроме jQuery и node-sass). Опциональный стек: RTK Query, MUI + styled-components

Будет замечательно, если вы зальёте сайт на vercel, github pages и тд, но это не обязательно.

Кодстайл: Code style and Best Practices Ссылка на API: http://185.244.172.108:8081/ Документация по API: http://185.244.172.108:8081/swagger-ui/index.html?url=/openapi.json#/

https://www.figma.com/embed?embed_host=notion&url=https%3A%2F%2Fwww.figma.com%2Ffile%2Fyyls8AT1soKQ3Qpfl2Y3Nz%2F%25D0%259C%25D0%25B0%25D0%25BA%25D0%25B5%25D1%2582-%25D0%25B4%25D0%25BB%25D1%258F-%25D1%2582%25D0%25B5%25D1%2581%25D1%2582%25D0%25BE%25D0%25B2%25D0%25BE%25D0%25B3%25D0%25BE%3Fnode-id%3D0%253A1


Методы API и с чем их есть

Начало

Вам нужно создать себе общую сущность и получить её ID для дальнейшего взаимодействия с API, для этого нужен метод /v1/outlay-rows/entity/create. Он вернёт вам ID, в методах API он указан как eID.

<aside> 💡 Внимание! Эта операция должна происходить единожды, и только на этапе написания, в дальнейшем установите этот ID как константу.

</aside>

Получение данных

/v1/outlay-rows/entity/{eID}/row/list

<aside> 💡 Вы должны производить эту операцию только при входе на экран, при каких либо изменениях вам нужно актуализировать информацию локально, не запрашивая каждый раз все данные с сервера.

</aside>

Создание строки

/v1/outlay-rows/entity/{eID}/row/create

Для создания строки пользователь должен нажать на иконку существующий строки.

После этого вы должны отрисовать строку в том месте, где она должна быть, заполнить все требуемые поля нулями (кроме заголовка, его оставьте пустым), включить у строки режим редактирования (третий экран в макете) и ждать пока пользователь не нажмёт Enter в одном из полей ввода, только после этого отправляйте данные на сервер.

<aside> ⚠️ Если в parentId будет передан неверный id - метод вернёт 404. Поэтому если у строки нет parent вам нужно передавать null.

</aside>

<aside> 💡 Обратите внимание - при изменении значений у потомков, значение родителя так же изменится, бекенд вам вернёт новое значение.

</aside>

<aside> 💡 Для создания строки нужны некоторые другие данные которые вы не отображаете, и пользователь не вводит. Заполните их нулями.

</aside>

Обновление строки