Skip to content

BadLame/test_secunda

Repository files navigation

Тестовое задание

Развернуть проект

git clone git@github.com:BadLame/test_secunda.git
cp .env.example # Копировать .env.example в .env
composer install # Возможно, потребуется использовать версию PHP 8.4

# laravel/sail - библиотека для быстрого разворачивания контейнеров под приложение
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'
sail up -d # или docker-compose up -d
sail artisan migrate:fresh --seed # docker-compose exec laravel.test php ...
sail artisan test # Проверить, тесты должны отрабатывать

Авторизация

Ключ AUTH_CODE в .env (передаётся в хедере Authorization: Bearer ...)

Документация

http://localhost/docs/api - Там же на любом роуте можно ввести ключ авторизации для теста запросов `

PS

code направления деятельности - тринслит названия направления, всё в нижнем регистре, вместо пробела - нижнее подчёркивание

PPS

Знаю про сервис-лейеры, но конкретно для получения данных - ни разу не видел хороших практик, и чтобы где-то они использовались по назначение (заменялись другими источниками данных).
Если это критично - буду благодарен хоть тонкому намёку, что сделать иначе


Черновичёк разработки

Сущности

  • Род деятельности (вкладывается сам в себя с ограничением)

    • Название
    • Парент ид
    • Ограничение до 3 уровня
  • Здание

    • Адрес
    • Координаты
  • Организация

    • Название
    • Номер телефона (может быть несколько штук)
    • Связь со зданием
    • Связь с деятельностью (множественная)

Авторизация

  • По захардкоженному ключу (через Middleware)

Роуты

  • Информация об организации по ID
  • Список зданий в радиусе / прямоугольной области от гео точки
  • Список организаций
    • По названию
    • В здании
    • По указанному виду деятельности (Конкретному)
    • По указанному виду деятельности (Конкретному, учитывая дочерние)
    • В радиусе от гео точки
    • В прямоугольной области от гео точки

Прочее

  • Добавить документацию роутов
  • Проверить выборку rect для зданий (иногда падают тесты)
    • Использовалась геометрическая (не геодезическая) точка
  • Расписать тут что да как

About

Тестовое задание

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages