- Зависимость стоимости авиабилета от дня покупки
- Зависимость стоимости авиабилета от количества дней до вылета
- Анализ стоимости авиабилета от дня недели покупки
- Сравнение стоимости авиабилетов различных авиакомпаний
В данном проекте серверная часть состоит из модуля сбора данных, написанного на Java
и работающего с Aviasales API
,
и Spring-REST
сервиса. Клиентская часть реализована с помощью React
- TypeScript
.
В качестве базы данных используется
ClickHouse
.Для связи между сервисами используется брокер сообщений -
Apache Kafka
, который работает поверхZooKeeper
, распределенного сервиса конфигурирования и синхронизации.
Spring REST
принимает обращения к серверу и ставит их в очередь сообщений вKafka
. После чего запрос обрабатывается и отправляет ответ клиенту по протоколуWebSocket
.С клиентской стороны веб-сервер работает на
Nginx
, который ссылается наNode.js
. Веб-приложение написано с помощью библиотекиReact
. За визуализацию данных отвечаетApache ECharts
.Серверная и клиентская части запускаются в
Docker
.
1. Изменить config.properties
2. Изменить docker-compose.yaml
3. Запустить docker compose
4. Создать таблицы в ClickHouse. Необходимые запросы находятся в CheapestWay_ClickHouse.sql
5. Перезапустить docker compose
1. Изменить docker-compose.yaml
2. Изменить nginx/default.conf
3. В файле nodejs/cheapestway/src/components/SockJS.tsx изменить WebSocket URL
4. Запустить npm install
5. Запустить docker compose
Copyright © 2022 KELONMYOSA.
Licensed under the Apache License, Version 2.0