Серверное приложение для работы с маршрутами, рейтингами и пользователями. Основано на Spring Boot и полностью контейнеризовано с помощью Docker.
- Docker и Docker Compose
- Git
- Скрипт
run-docker.shдолжен быть исполняемым (chmod +x run-docker.sh)
Этот проект использует Docker Compose для управления всеми сервисами, включая приложение, базу данных и pgAdmin.
git clone https://github.com/RouteMood/RouteMoodServer.git
cd RouteMoodServerДля запуска всех сервисов используйте скрипт run-docker.sh, передав ему путь к файлу с токеном для GPT.
./run-docker.sh <token_file> [--build]Скрипт выполнит следующие действия:
- Прочитает токен из указанного файла.
- Остановит и удалит любые запущенные контейнеры.
- Запустит
docker-compose up, который соберет образ приложения и поднимет все сервисы.
Чтобы пересобрать образ приложения, добавьте флаг --build
- Сервер:
http://localhost:8080 - PostgreSQL: порт
5432 - pgAdmin:
http://localhost:5050(логин:pgadmin4@pgadmin.org, пароль:admin)
Для локального запуска тестов отдельно используйте:
./gradlew testDockerfile: Многостадийный файл для сборки и запуска Java-приложения.docker/docker-compose.yaml: Определяет сервисыroutemood-server,postgresиpgadmin.run-docker.sh: Управляющий скрипт для удобного запуска и остановки окружения.generate-config.sh: Скрипт для генерации конфигурации, используется внутриDockerfile.
- Все тесты автоматически запускаются в GitHub Actions при каждом коммите в ветку
main. - Проверяется сборка проекта с помощью Gradle.
- Spring Boot
- PostgreSQL, H2 (для тестов)
- Spring Security, JWT
- Lombok, JUnit, Mockito
- Google API Client, OkHttp, Gson
См. файл LICENSE.