Шаттл? Заброшены из -за отсутствия интереса
Несмотря на то, что проект был заброшен еще до начала продуктивной разработки, вы можете забрать что -то хорошее в этом проекте для себя
Шаттл -проект представляет собой набор микросервисов, в основном на основе Spring Boot для управления космическим такси. В рамках этого проекта были реализованы различные функциональные возможности для работы с космическими полетами и взаимодействия между микросервисами.
Как запустить проект
Чтобы запустить проект шаттла, следуйте этим шагам:
Предварительные условия
Убедитесь, что в вашей системе установлено следующее программное обеспечение:
- Docker и Docker Compose
- Java 21 или новее
- Gradle 6.8 или новее
Шаг 1: Настройка баз данных
Проект требует баз данных PostgreSQL и MongoDB. Вы можете установить их вручную или настроить с помощью Docker.
Вариант A: Установите базы данных вручную
Postgresql :
- Загрузите и установите PostgreSQL с официального сайта.
- Начните сервис PostgreSQL.
Mongodb :
- Загрузите и установите MongoDB с официального сайта.
- Начните сервис MongoDB.
Вариант B: используйте Docker для баз данных
- Postgresql :
docker pull postgres:latest
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
- Mongodb :
export MONGODB_VERSION=6.0-ubi8
docker run --name mongodb -d mongodb/mongodb-community-server: $MONGODB_VERSION
Шаг 2: Запустите Kafka, Zookeeper, Otel-Collector, Prometheus, Graphana.
cd docker
docker compose up
Шаг 3: опубликовать в Maven Local
cd shared
./gradlew publishToMavenLocal
Шаг 4: Запустите сервер обнаружения и конфигурации
cd discovery-server
./gradlew bootRun
cd ../config-server
./gradlew bootRun
Шаг 5: Запустите остальные микросервисы по одному, так как он вам подходит
Я прошу прощения за такие неудобства, в будущем все микросервисы будут запущены через Kybernetes
Микросервисы
В следующем списке перечислены микросервисы проекта со статусом их реализации (этот список может регулярно меняться из -за добавления новых функций и рефакторинга архитектуры):
- Служба обратной связи пилота и служба обратной связи с пользователями (реализовано, не протестировано) ✅
- Информационная служба трансфера (не внедренная)?
- Пилотная информационная служба (не внедренная)?
- Служба информации пользователя (не реализована)?
- Пилотный рейтинг (в процессе)?
- Служба поиска пути поездок (в процессе)?
- Служба расчета поездки (не реализована)?
- Платежная услуга (не внедренная)?
- Пилотная служба личных данных (в процессе)?
- Сервис заказа (не реализован)?
- Информационная служба станции (не внедренная)?
Микросервисы общаются друг с другом через Apache Kafka, которая предоставляет обновления обмена сообщениями и рейтингом.
Функциональность?
- Расчет пути от одной планеты к другой с учетом их движения на орбите
- Сбор и обработка обратной связи от пользователей и пилотов.
- Выбор класса полета.
- Пилотная система ранга.
- Проверка личных данных пилотов.
- Расчет стоимости полета из -за длины и сложности полета.
- Внедрение платежной службы с учетом комиссии по шаттле (спасибо, что выбрали нас! ???).
- React App для документации, используя реагирование (это очень красиво и потрясающе !!!!)
Возможная функциональность
- Моделирование поломков шаттла (не подвергая опасности жизни пассажиров! ???).
- Реализация в 3D-пространстве, так что это было бы похоже на НАСА: https://eyes.nasa.gov/apps/solar-system/#/home
Архитектура
Проект использует следующие технологии и подходы:
- Spring Boot для создания микросервисов. (Есть исключения, например, нахождение микросервиса)
- Apache Kafka для обработки сообщений.
- Опентелометрия, Graphana, Prometheus для мониторинга и отслеживания.
- Docker & Kubernetes & GitHub Действия для развертывания.
- PGSQL, MongoDB, Redis, Cassandra в качестве баз данных.
Диаграммы и метрики
Визуализация процесса упорядочения шаттла
Диаграмма, ранее показанная здесь, теперь недействительна
В будущем вся документация, диаграммы, расчеты метрик, такие как Dau, Mau и т. Д., Будут реализованы как приложение React с использованием потока React, больше таких мерзких диаграмм ???
Установка и требования
Чтобы запустить проект, вам понадобятся следующие инструменты и зависимости:
- Java 17 или позже
- Maven 3.8.1 или позже
- Docker (необязательно, для работы с контейнерами)
Убедитесь, что все зависимости установлены и настроены перед запуском проекта.
Лицензия
Ничего не украсть, пожалуйста (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((чем
Контакты?
Если у вас есть какие -либо вопросы или предложения, вы можете связаться со мной по проблемам GitHub, по электронной почте или по телеграмме.
Шаттл - это космическое такси будущего, управляемое современными технологиями микросервисных технологий!