Для HR команды необходимо реализовать базу данных на PostgreSQL и функции на сервере, которые позволят делать через чат-бота в TG или ВК cледующее:
1. Регистрировать в БД PostgreSQL отклики кандидатов из формы в mini app Вконтакте или Telegram либо из ответов в бота Вконтакте или Telegram
2. При наступлении определенных условий (формальная логика) рассылать этим кандидатам различные сообщения (напоминание о необходимости пройти тест, записаться на собеседование, напоминание о собеседовании и тд)
3. Необходима гибкая универсальная реализация, которая позволит делать ботов по разные вакансии с разными анкетами и событиями для напоминаний через сообщения
Готов ответить на вопросы и дать уточнения по задаче.
Более подробно:
Ищем на проектную занятость с почасовой оплатой backend-разработчика уровня Middle способного самостоятельно спроектировать и реализовать серверную архитектуру и БД, с которой будут взаимодействовать чат-боты ТГ/ВК/MAX. Есть частичная реализация на Яндекс функциях, нужно провести рефакторинг кода и сделать улучшенную и более стабильную серверную версию.
Ключевые навыки:
• Node.js (Fastify / NestJS) или Python (FastAPI)
• Понимание REST-подхода и проектирования endpoint’ов
• Асинхронность
• PostgreSQL
• Опыт интеграции с Telegram Bot API
• Опыт работы с Google Sheets API (через service account)
• Работа с внешними API
• Docker, CI/CD
Техническое задание
1. Контекст проекта
Существует рабочая реализация на Яндекс Функциях. Требуется разработать серверную реализацию на Selectel, которая является улучшенным аналогом текущего решения. Итоговая архитектура должна предоставлять HTTP endpoint (URL), к которому обращаются Telegram Mini App и VK Mini App.
2. Нагрузочные требования
- Пиковая нагрузка: до 500 регистраций в пределах одного часа.
- Суточная нагрузка: несколько тысяч запросов.
- Обязательная защита от race condition.
- Обработка асинхронных операций без блокировок.
3. Функция регистрации (HTTP endpoint)
Назначение: создание строки пользователя в PostgreSQL.
Вход: JSON с персональными данными и выбранными направлениями.
Требования:
- Валидация входных данных.
- Защита от дублей (уникальный ключ).
- Логирование запроса и результата.
- Асинхронная запись в БД.
- Ответ API: JSON {status, message}.
- Настройка CORS для Telegram и VK Mini App.
Пример запроса:
{
"telegram_id": "123456789",
"name": "Иван",
"email": "ivan@test.ru",
"direction": "Innovations"
}
4. Функция расчета статуса
Статус рассчитывается отдельной функцией.
Логика содержит IF/ELSE условия (аналог формул Excel).
Параметры берутся из Google Sheets.
Пример логики:
- IF score >= passing_score (из Sheets) → статус = 'Приглашен на тест'
- ELSE → статус = 'Отказ'
5. Автопуши в Telegram
Триггер: UPDATE конкретного столбца в PostgreSQL.
Алгоритм:
1. Вызывается функция расчета статуса.
2. Выбирается шаблон из Google Sheets.
3. Подставляются переменные из БД ({{name}}, {{date}}, {{score}}).
4. Отправляется сообщение в Telegram.
6. Интеграция с Google Sheets
- Используется отдельный сервисный аккаунт.
- Получение шаблонов сообщений.
- Получение параметров (проходные баллы и др.).
- Кеширование данных.
- Retry при ошибках API.
- Логирование ошибок.
7. Безопасность
- API-ключ или токен.
- Rate limiting.
- Защита от повторных запросов.
- Максимальное логирование.
- Обработка исключений.
8. Документация
- Подробные комментарии в коде.
- README.md должен содержать:
• архитектуру
• описание БД
• API-контракт
• примеры запросов
• env-переменные
• инструкцию по деплою
9. Сроки
Срок реализации: 2 недели с момента старта разработки.
Опубликован 16.02.2026 в 12:52 Последнее изменение: 16.02.2026 в 15:57