Skip to content

ТЗ Rest Api Attraction by city with liquibase migration

Notifications You must be signed in to change notification settings

ereminsasha08/attraction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Запуск и функционал

  1. Клонировать репозиторий, собрать проект, запустить docker-compose или можно просто скачать docker-compose.yaml из папки dockercompose и запуститься с него
  2. Также запустил на AWS, но не уверен что он будет доступен (у меня только через Tor запускается http://docke-loadb-413yyyuxd2kw-a2489cebf416af05.elb.eu-west-3.amazonaws.com:8080/rest/*)
  3. Доступные конечные точки

Достопримечательности

  • GET rest/attractions - все достопримичательности, опционально параметры запроса typeFilter={BUILDING, CONSTRUCTION, MUSEUM, MONUMENT, RESERVE}, nameSorted={true, false}
  • GET rest/attractions/city/{name} - достопримичательности города
  • POST rest/attractions - добавления достопримечательности, тело запроса должно включать поля
{
   name: "Название достопримичательности",
   description: "Описание",
   dateConstruction: "Дата основания YYYY-MM-dd",
   type: "Тип (порядковый номер в Enum Type)",
   cityId: "Id города из списка доступных городов"
}
  • PATCH rest/attractions/update/{id} - обновления описания достопреиечательности обязательный параметр description
  • DELETE rest/attractions/delete/{id} - удаления достопримечательности

Города

  • GET rest/cities - список городов
  • POST rest/cities - добавления города, тело запроса должно включать поля
{
    name: "Название города",    
    country: "Страна",
    population: "Численность населения",
    underground: "Наличие метро"
}
  • PATCH rest/cities/update/{id} - обновления города, опциональные параметры population, underground

ТЗ

Необходимо создать REST-сервис для хранения данных о городских достопримечательностей. Структура данных: Город

Идентификатор (порядковый номер)

Название города

Численность населения

Наличие метро

Страна

Достопримечательность

Идентификатор

Название достопримечательности

Дата постройки

Краткое описание

Тип достопримечательности (enum, например: Здание/Сооружение/Музей/Памятник/Заповедник)

Идентификатор города

REST-сервис должен предоставлять следующие методы:

  • Получить все достопримечательности (опционально можно передать параметр для сортировки по наименованию достопримечательности, параметр для фильтрации по типу достопримечательности)
  • Получить все достопримечательности конкретного города
  • Добавить город
  • Добавить достопримечательность
  • Изменение данных по городу (возможно изменение только полей: Численность населения, Наличие метро)
  • Изменение данных по достопримечательности (возможно изменение только полей: Краткое описание)
  • Удаление достопримечательности из справочника Сервис при первом запуске должен самостоятельно создавать необходимые объекты в БД с помощью Liquibase. Необходимо использовать PostgreSQL. Для реализации необходимо использовать Java 8, Spring Boot, Hibernate, PostgreSQL, Liquibase. Исходный код загрузить в GitHub и в описании указать краткую инструкцию по запуску приложения.

About

ТЗ Rest Api Attraction by city with liquibase migration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published