Skip to content

vvnazarov/demo-GeoAPI

Repository files navigation

Geo API

Это демонстрационное приложение, реализующее простой REST API управления данными геообъектов.

Реализованы методы API:

GET /api/vv1

GET /api/vv1/{id}

POST /api/vv1

PATCH /api/vv1/{id}

DELETE /api/vv1/{id}

Свойства геообъекта (все обязательные):

  • name string:64
  • description string:256
  • type string {field | bed | mts}
  • geometry string, WKT Polygon

Для метода DELETE можно использовать дополнительный параметр

  • archive true

в этом случае геообъект будет не удалён, а "архивирован" (soft deleted)

Установка

  1. composer install

  2. Скопировать .env.example -> .env
    Прописать данные сервера БД
    php artisan key:generate

  3. Заполнить БД
    php artisan migrate --seed

Тесты / демо

Коллекция для Postman

https://github.com/vvnazarov/geo/blob/master/tests/geo.postman_collection.json

Release 1.3.0 notes

Получил обратную связь о том, что хорошо бы вынести логику из контроллера на Service Layer.
На самом деле, с учётом того, что это - микросервисзадача, вариант не бесспорный.
Хорошо: контроллер стал совсем тонкий
Плохо: добавилась новая сущность, не являющаяся необходимой для конкретной задачи.
На мой вкус, плюс немного весомее минуса, поэтому этот релиз появился.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages