Разработка сервера по работе с лидами

1. Описание проекта

Разработать систему обработки лидов с возможностью их сегментации, распределения и монетизации через разные каналы (рассылки, SMS и т.д.). Источником данных будет API, предоставляющее информацию о лидах (номерах телефонов) с возможностью кастомизации воронок.

2. Технологический стек

  • Backend: Python (Django, Flask, FastAPI) или Node.js (Express)
  • Frontend: React/Next.js, Vue.js
  • База данных: PostgreSQL (возможно MySQL)
  • API: GraphQL
  • Очереди и кеширование: Redis
  • Автоматизация задач: Celery (для Python) или Bull (для Node.js)
  • Интерфейс кастомизации воронок: React Flow, JointJS, GoJS
  • Авторизация: JWT
  • Контейнеризация: Docker (для развёртывания на любом сервере)

3. Описание функциональности

  • Триггеры и управление трафиком:

    • Лиды поступают из внешнего API. Каждый лид содержит номер телефона, источник лида и stream id.
    • Есть события (заявка, продажа, клик) которые должны передаваться из стороннего трекера и на основе их должен формироваться триггер и идти в очередь на отправку. Триггеры должны быть кастомизированными.
    • Система должна поддерживать сегментацию номеров по операторам, дате получения лида и другим параметрам.
    • Варианты отправки лидов: рассылки и монетизация.
  • Монетизация и интеграции:

    • Лиды могут быть монетизированы через различные API или SMS-шлюзы.
    • Возможность создания уникальных коротких ссылок развернутая на нашем сервере.

4. Требования к интерфейсу

  • Интерфейс кастомизации воронок:

    • Визуальный редактор на основе React Flow, JointJS или GoJS для гибкого создания цепочек рассылок и сегментации.

5. Автоматизация и задачи:

  • Celery (если Python) или Bull (если Node.js) для асинхронных задач по отправке лидов на рассылки и для сегментации трафика.
  • Redis для кеширования данных и работы с очередями.

6. Авторизация и безопасность:

  • Авторизация пользователей должна осуществляться через JWT, обеспечивая безопасное взаимодействие с API.

7. Развёртывание и контейнеризация:

  • Система должна быть упакована в Docker-контейнеры для возможности развёртывания на любых серверах .
8. API и работа с внешними системами:

GraphQL API для общения фронтенда с бэкендом и для предоставления данных для внешних систем.

Читайте на 123ru.net