FastAPI-приложение для парсинга публичных вакансий Selectel, хранения в PostgreSQL и предоставления CRUD API.
- Клонируйте репозиторий (или распакуйте проект из архива):
git clone --branch with-bugs https://github.com/selectel/be-test.git - Создайте
.envна основе примера:cp .env.example .env - Примените переменные окружения
.env:source .env - Запуск через Docker Desktop:
docker compose up --build - Проверка работоспособности:
откройте
http://localhost:8000/docs - Остановка и очистка:
docker-compose down -v
DATABASE_URL— строка подключения к PostgreSQL.LOG_LEVEL— уровень логирования (INFO,DEBUG).PARSE_SCHEDULE_MINUTES— интервал фонового парсинга в минутах.
GET /api/v1/vacancies/— список вакансийGET /api/v1/vacancies/{id}— детали вакансии.POST /api/v1/vacancies/— создание вакансии.PUT /api/v1/vacancies/{id}— обновление вакансии.DELETE /api/v1/vacancies/{id}— удаление вакансии.POST /api/v1/parse/— ручной запуск парсинга.
- При старте приложения выполняется первичный парсинг.
- Фоновый парсинг запускается планировщиком APScheduler (в рамках заданного интервала).