Backend функции на сервере для взаимодействия между БД и чат-ботом в ВК и Телеграм

Бюджет: по договоренности
Для 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

Выберите способ верификации:

Обновите страницу после прохождения верификации.