Сервис позволяет выполнять пакетную выгрузку кадастровых кварталов (в виде наборов геоданных) по охвату, который может быть передан в виде GeoJSON или SHP-файлов в ZIP-архивах. Выгрузка осуществляется через внешний сервис NextGIS Toolbox.
- Python 3.12
- Poetry
- Docker
- Docker compose
- npm
-
Клонируйте репозиторий и перейдите в каталог проекта:
git clone https://github.com/ProkhorKondratev/ngw_kadastr.git cd ngw_kadastr
Примечание: Параметры доступа к NG Toolbox указываются в файле .env (пример в .env.example)
-
Проект состоит из приложения
app
, которое включает главный файл main.py, содержащий основные API-эндпоинты для взаимодействия с сервисом. -
В папке
share
хранятся данные, которые будут переданы при развертывании на удалённом сервере. -
Папка
data
содержит файлы базы данных, логов, файлов для обработки (Создается автоматически при запуске).
Для запуска сервиса в режиме разработки необходимо:
-
Установить зависимости:
poetry install
-
Активировать окружение:
source .venv/bin/activate
-
Выполнить запуск:
docker compose up -d fastapi dev
# В отдельном терминале (опционально): celery -A app.worker worker --loglevel=info --concurrency=1
Для развертывания на удалённом сервере выполните следующие шаги:
-
Из корня проекта выполните скрипт сборки:
./build.sh
В результате сборки в папке
share
будет сохранен образ проекта. -
Для развертывания на удалённом сервере выполните:
./deploy.sh
Это приведёт к удаленной остановке текущей версии сервиса, переустановке и запуску новой версии на сервере.
Примечание: Параметры подключения к внешнему серверу конфигурируются непосредственно в скрипте
deploy.sh
.