IT Purple Hack - Платформа ценообразования Авито
2024
Хакатоны
О проекте
Сервис предоставляет админ панель, которая предназначена для аналитиков и позволяет устанавливать, изменять и удалять цены для узлов дерева локаций и категорий.
Проблема
Отсутствие UI-сервиса. Сценарий обновления цен усложняется. Могут задействоваться дополнительные лица. Нет опоры для оптимизации и автоматизации рабочих процессов аналитиков Задержки в предоставлении ценовых данных. Текущая скорость работы сервиса отдачи цен является неудовлетворительной. Пользователи испытывают трудности при получении данных на цены для платных услуг
Архитектура и стек технологий
Система состоит из следующих частей: - Frontend приложение на React. Представляет собой многомодульное монолитное приложение, которое взаимодействует с Backend посредством API. - Веб-сервер Caddy, который выполняет функцию обратного прокси сервера и обеспечивает доступ к системе по протоколу https. - Backend приложение на Spring. Также представлено в виде многомодульного монолитного приложения. - База данных PostgreSQL.
Роль в проекте
Я выступал в роли FullStack-разработчика. Отвечал за архитектуру приложения, разработку backend и frontend, деплой и написание документации.
Оптимизация и масштабирование
Применён оптимизированный алгоритм поиска вверх по дереву для нахождения цены на платные услуги. Перед применением поиска в матрице выполняется один запрос в БД, который позволяет определить наличие цены в матрице для заданного запроса. Быстрое переключение текущих активных матриц в сторадже за счет хранения всех матриц в одной таблице БД. В результате такого подхода полностью отсутствует «моргание» цен.
Деплоймент
Настроен CI/CD пайплайн с использованием GitHub Actions для автоматической сборки, и деплоя приложения. Каждый коммит в репозитории автоматически запускает процесс сборки и деплой на staging или production сервер.