- Python 96.4%
- Jupyter Notebook 3.5%
| .o3 | ||
| api | ||
| controller | ||
| core | ||
| doc/pic | ||
| include | ||
| libs | ||
| model | ||
| resources | ||
| service | ||
| test | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| app.py | ||
| auto_test.py | ||
| build_local_dev.ps1 | ||
| docker_run.ps1 | ||
| entrypoint.sh | ||
| insert.ipynb | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| test.py | ||
calc_rest_api
Функциональный REST API для расширения backend логики Calc MP
Запуск Docker container
Для начала надо настроить доступ к Docker Registry
Инструкция по ссылке
Хост registry: gitlab-registry.ozon.ru
Когда Docker Registry настроен
Запустить .\docker_run.ps1
После запуска api-doc будет доступен по адресу localhost:8000\docs
Получение секретов из Vault для локальной разработки
Описание процесса на Confluence FAQ
Сборка для разработки
Запустить .\buid_local_dev.ps1
или
Шаг 1:
pip install virtualenv
Шаг 2:
virtualenv rest_venv
Шаг 3:
.\rest_venv\Scripts\activate
Шаг 4:
python -m pip install --upgrade pip
Шаг 5:
pip install -r requirements.txt
Описание структуры
Структура каталогов определяет разделение модулей приложения на логические\функциональные составляющие.
Логические блоки приложения:
-
api
Конечные эндпоинты http api
-
controller
Контроллеры приложения, служат как интерфеёс между эндпоинтами и прокси-классом сервиса
-
core
Параметры приложения, системные тулы и окружение
-
include
Подключаемые функциональные модули
-
logs
Логи и журналы
-
model
Модели-датаклассы для валидации запросов\ответов
-
service
Конкретные прокси-сервисы, оборачивающие логики подключаемых модулей.
Внутри основных каталогов разделение происходит по принципу функциональной принадлежности (script,formula)
