Skip to content

abzelhan/skoltech-solution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Решение тестового задания для Skoltech

Проект представляет из себя сервис сохранения метрик с датчиков, и выдачи этих метрик через REST API.

Используемые технологии:

  1. Java 8
  2. Spring Boot (Data)
  3. Docker (docker-compose)
  4. Gradle
  5. JUnit
  6. MapStruct
  7. TestContainers
  8. Lombok
  9. Liquibase
  10. Postgresql

Запуск приложения

В корневом каталоге проекта находится скрипт run.sh, в нем прописан сценарий создания образа приложения, и автоматического запуска всех контейнеров. Нужно запустить этот скрипт и дождаться завершения выполнения. Затем сервис будет доступен по адресу localhost:8080

Скрипт миграции базы данных запуститься автоматически во время запуска приложения.

Запуск тестов

Для запуска интеграционных тестов нужно перейти в основной каталог и выполнить команду gradlew test. Проект использует TestContainters фреймворк для запуска контейнера с базой данных PostgreSQL для интеграционных тестов. Жизненный цикл контейнера управляется фреймворком, и будет удален по окончанию тестов.

API

  1. /api/save - Сохранить список метрик.
  2. /api/history - Выгрузить все измерения заданного датчика за заданный интервал времени.
  3. /api/latest - Выгрузить текущие (последние на данных момент) значения всех датчиков для заданного объекта.
  4. /api/avg - Выгрузить среднее из текущих значений датчиков для каждого объекта.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors