Разработка сервера по работе с лидами
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. Каждый лид содержит номер телефона, источник лида и stream id.
- Монетизация и интеграции:
- Лиды могут быть монетизированы через различные API или SMS-шлюзы.
- Возможность создания уникальных коротких ссылок развернутая на нашем сервере.
- Лиды могут быть монетизированы через различные API или SMS-шлюзы.
4. Требования к интерфейсу
- Интерфейс кастомизации воронок:
- Визуальный редактор на основе React Flow, JointJS или GoJS для гибкого создания цепочек рассылок и сегментации.
- Визуальный редактор на основе React Flow, JointJS или GoJS для гибкого создания цепочек рассылок и сегментации.
5. Автоматизация и задачи:
- Celery (если Python) или Bull (если Node.js) для асинхронных задач по отправке лидов на рассылки и для сегментации трафика.
- Redis для кеширования данных и работы с очередями.
6. Авторизация и безопасность:
- Авторизация пользователей должна осуществляться через JWT, обеспечивая безопасное взаимодействие с API.
7. Развёртывание и контейнеризация:
- Система должна быть упакована в Docker-контейнеры для возможности развёртывания на любых серверах .
GraphQL API для общения фронтенда с бэкендом и для предоставления данных для внешних систем.