Получи случайную криптовалюту за регистрацию!

46 неделя обучения. ● Часы: 27ч (703ч) ● Т | Road to IT 🚀

46 неделя обучения.

● Часы: 27ч (703ч)

● Темы:
Командный проект "RS Clone" (Практика)

● Что я сделал за эту неделю:

По сравнению с прошлым, текущий недельный спринт оказался наиболее трудоемким. На втором общем созвоне вновь распределили обязанности на неделю и обсудили возможность переноса некоторой логики на бэкенд. Таким образом, бэкендер задержался на сервере еще на неделю, а мы приступили к работе над страницами аналитики и транзакций соответственно.

Чтобы упростить жизнь начинающему бэкендеру и побыстрее вытянуть его на фронт, на старте проекта мы обусловились получать от него только авторизацию, баланс и весь список транзакций юзера. Но по мере работы он преисполнился в познании и запилил нам еще несколько фич на стороне сервера, такие как подсчет баланса, фильтрация и пагинация транзакций по запросу, за что ему большая хвала. Огромную работу также проделала моя напарница по фронтенду, организовав превосходную работу страницы авторизации и роутинга, а сейчас кропотливо занимается страницей транзакций. Просто Dream Team какой-то!

Я занимался страницей аналитики, на котором должен быть инпут-календарь, задающий период для аналитики, три различных диаграммы и список последних транзакций. Для календаря я использовал библиотеку компонентов React Suite, а для диаграмм Recharts. Для установки диаграммы на страницу недостаточно просто установить пакет и вставить кусок в страницу. Нужно учитывать массу нюансов, такие как ui, адаптив, внутренняя логика диаграммы. Здесь то я и столкнулся с проблемами. Часами изучал API библиотеки, подбирал нужные пропсы и связывал компоненты между собой. А так как мы следуем структуре Future Sliced, всегда нужно помнить о паттерне независимости компонентов.

Помнится, мне кто-то доказывал, что решение задач на CW - бессмысленная трата времени, так как на реальных проектах мне это не пригодится. Однако, решения различных алгоритмических задач на протяжении всего курса не прошли бесследно. На текущем проекте, по моему мнению, мне удалось элегантно решить пару таких. Например, нужно написать функцию, которая принимает массив объектов от сервера, в которых содержится информация о транзакции: название категории, дата транзакции, тип транзакции (расход или доход), сумма, и возвращает отсортированный по дате массив объектов со следующими свойствами: название месяца и баланс юзера за данный месяц. Другая функция принимает такой же аргумент, но должна вернуть массив объектов со свойствами: название категории, сумма расходов по данной категории. Решая подобные задачи на реальных проектах, получаешь истинное удовольствие.

Основная бизнес-логика почти готова и нам остается только доделать настройки пользователя, потестить приложение, задеплоить фронт и бэк и подготовиться к презентации. Кроме того, на следующей неделе во вторник состоится заключительное хард интервью, которое определит соответствую ли я необходимым знаниям. Хоть все силы и брошены на проект, но в свободную минутку штудирую доку и пересматриваю видео с собесами. Постараюсь выложиться на максимальную мощность. Работаем, дамы и господа!