R50 33bcb5fdaee6d07bb69fee58af0597bf
Senior python разработчик

Система синхронизации данных из разных источников в реальном времени

Добавлено 04 июн 2023 в 18:38
Проект разработан мной с нуля для рекрутингового агенства ScoutJobs.
Информация хранится в разных источниках: Админ панель ScoutJobs, Google Sheets, Helpdesk Eddy, Salesforce, Amo CRM.
Одна и таже информация может быть отредактирована любым из источников или же несколькими одновременно.

Основные цели проекта:
  • Синхронизировать данные во всех источниках в реальном времени.
  • Сделать защиту данных, которая будет находить конфликты, не допускать повреждения данных, логировать проблемы и оповещать о них.
  • Спроектировать систему так, чтобы при росте нагрузки ее можно было легко масштабировать.
  • Сделать возможность легкого подключения новых источников данных.
  • Предусмотреть оба сценария - когда источник может сам оповещать об изменениях и когда изменения можно получить только самостоятельно отправив запрос.
  • Разработать способ быстрого конфигурирования полей которые нужно синхронизировать (типы данных, проверка на конфликты, настройки).
  • Разработать систему плагинов для простого расширения функционала полей которые нужно синхронизировать.

Использованные технологии: Python, FastAPI, SqlAlchemy, Multiprocessing, Alembic, RabbitMQ, PostgreSQL, Микросервисная архитектура, pytest, Docker

Интеграция API: Google Sheets, Helpdesk, Salesforce, AMO CRM

E69271ddc4