AvitoInternTask
Для запуска проекта нужно использовать следующие команды
npm start
npm run build
Привет! Расскажу ненмого о проекте.
Проект реализован с использованием архитектуры FSD. С помощью нее можно четко разделить ответственность между различными частями приложения, что в свою очередь упрощает разработку и поддержку проекта.
Благодаря FSD, процесс разработки становится более предсказуемым. Четкое разделение ответственности между слоями (презентация, бизнес-логика, данные) позволяет как мне, так и другим разработчикам быстро ориентироваться в структуре проекта и вносить изменения без риска нарушить целостность системы.
Был выбор между FSD и модульной архитектурой. Модульная архитектура часто приводит к плотному сцеплению между компонентами, что затрудняет внесение изменений. В то время как FSD четко разграничивает ответственность, упрощая процесс разработки.
"+" Лично для себя выделяю удобство в нейминге папок и распределении иерархии.
При разработке проекта возникла следующая проблема, API не возвращала общее количество записей, после выполнения запроса. В качестве обходного решения был реализован дополнительный запрос без ограничений по лимитам возвращаемых записей и "ручной" подсчет количества отфильтрованных объявлений, используя состояние приложения.
Еще одна сложность была связана с тем, что API не предоставляла возможности поиска по объявлениям. В качестве обходного решения был написан хук с методом filter для фильтрации массива объявлений.
Спасибо за внимание! Хорошего вам дня :)