-
Быстрый запуск.
- Нужен
dockerиdocker-composeвыполняем командуmake up(илиdocker-compose -f docker/docker-compose.app.yaml up --pull always --force-recreateеслиmakeпо какой то причине нету в системе). - Переходим по http://127.0.0.1:8000/docs
- Пробуем работать с API.
- Нужен
-
Локальное развёртывание
- Установить Poetry
- Установить зависимости
poetry install --no-root - Запустить инфраструктуру (Postgres и Elastic)
make infra - Мигрировать БД -
make migrate - Настроить переменные окружения (описание ниже) -
cp .env.example .envс последующем редактированием.env - Запустить приложение
make app
| ENV | Описание | required | default |
|---|---|---|---|
ORGZ_DATA_BASE_DSN |
Строка подключения в БД | + | postgresql+asyncpg://postgres:password@127.0.0.1:5557/db |
ORGZ_API_KEY |
Ключ для доступа к API | + | |
ORGZ_API_KEY_HEADER_NAME |
Название заголовка в котором передаётся ORGZ_API_KEY |
- | X-ORGZ-API-KEY |
ORGZ_DATA_BASE_ECHO |
Подробное логирование в SQLAlchemy | - | yes |
ORGZ_FORCE_RECREATE |
При каждом запуске пересоздавать Elastic Search Index и перезаливать данные в БД | - | no |
ORGZ_USE_FAKE_DATA |
Использовать сгенерированные данные для наполнения БД и поискового индекса | - | no |
ORGZ_LOG_LEVEL |
Уровень логирования | - | INFO |
ORGZ_ELASTIC_HOST |
Адрес хоста с Elastic Search | - | http://localhost:9200 |
ORGZ_ES_INDEX_NAME |
Название поискового индекса | - | orgz-index |
При обращению к любому API требуется указывать заголовок из ORGZ_API_KEY_HEADER_NAME.
-
/api/v1/organization/id/{org_id}
Получение информации об
Организациипо её ID. -
/api/v1/organization/building/{building_id}
Список
ОрганизацийвЗдании{building_id}. -
/api/v1/organization/activity/{activity_id}
Список
ОрганизацийпринадлежащихВиду деятельности{activity_id}.Без учёта дочерних
Видов деятельности. -
Список
Организаций, которые находятся в заданном радиусе/прямоугольной области относительно указанной точки на карте. -
Поиск
ОрганизацийпоАдресу Здания,Названию Организации,Названию Вида Деятельности. При поиске поНазванию Вида Деятельностиучитываются все дочерниеВиды Деятельности. Возможно частичное совпадение.
-
Получения дерева всех видов деятельности.
-
Искать вид деятельности по названию. Возможно частичное совпадение.
Ответ - древовидная структура найденного вида деятельности и его потомков.
-
Поиск
Зданийпо адресу, возможно частичное совпадение. -
Список
Зданий, которые находятся в заданном радиусе/прямоугольной области относительно указанной точки на карте.
-
Перестройка поискового индекса в Elastic
-
Очистка поискового индекса, базы данныз с последующей заливкой тестовых данных.