FastAPI приложение для оптимизации раскроя листового материала.
-
Подготовьте репозиторий
- Убедитесь, что все файлы закоммичены и запушены в GitHub/GitLab/Bitbucket
-
Подключите репозиторий к Netlify
- Зайдите на app.netlify.com
- Нажмите "Add new site" → "Import an existing project"
- Выберите ваш репозиторий
-
Настройте деплой
- Build command: оставьте пустым или
echo 'No build step required' - Publish directory: оставьте пустым
- Functions directory:
netlify/functions - Python version: Netlify автоматически определит из
runtime.txt
- Build command: оставьте пустым или
-
Деплой
- Нажмите "Deploy site"
- Дождитесь завершения деплоя
-
Установите Netlify CLI
npm install -g netlify-cli
-
Войдите в Netlify
netlify login
-
Инициализируйте сайт
netlify init
Следуйте инструкциям для подключения к существующему сайту или создания нового.
-
Задеплойте
netlify deploy --prod
После деплоя ваше API будет доступно по адресу:
https://your-site-name.netlify.app/- проверка статусаhttps://your-site-name.netlify.app/optimize- оптимизация раскроя
curl -X POST https://your-site-name.netlify.app/optimize \
-H "Content-Type: application/json" \
-d '{
"sheet": {"width": 1000, "height": 500},
"parts": [
{"points": [[0, 0], [200, 0], [200, 100], [0, 100]]},
{"points": [[0, 0], [300, 0], [300, 200], [0, 200]]}
]
}'-
Установите зависимости
pip install -r requirements.txt
-
Запустите сервер
uvicorn main:app --reload
-
Откройте в браузере
- API: http://localhost:8000
- Документация: http://localhost:8000/docs
.
├── main.py # FastAPI приложение
├── backend/
│ ├── __init__.py
│ └── algorithm.py # Алгоритм оптимизации раскроя
├── netlify/
│ └── functions/
│ └── api.py # Netlify Function handler
├── netlify.toml # Конфигурация Netlify
├── requirements.txt # Python зависимости
└── runtime.txt # Версия Python для Netlify
- Netlify Functions имеют ограничение на время выполнения (10 секунд для бесплатного плана)
- Для больших вычислений рассмотрите использование Netlify Background Functions
- Все зависимости должны быть указаны в
requirements.txt