Workspace Digital Awards 2025 — успейте номинировать кейсы по льготной цене до 1 декабря. Принять участие!
Batonis
CRM модуль для хранения документов
Batonis
#Поддержка и развитие сайта#Программирование сайта#Разработка программного обеспечения

CRM модуль для хранения документов

203 
Batonis
Batonis Россия, Екатеринбург
Поделиться:
Клиент

Kokoc.tech

Бюджет

400 000

Сфера

Недвижимость

Регион

Россия, Екатеринбург

Сдано

Ноябрь 2022

Задача

Разработать модуль хранения документов для внутренней самописной CRM клиента

Решение

Полная версия кейса: https://batonis.tech/ru/cases/strana

ОСОБЕННОСТИ ПРОЕКТА

Мы выполняли этот проект совместно с нашим партнером - агенством kokoc.tech. Мы отвечали за backend, а коллеги за frontend и менеджмент проекта. В этом кейсе мы разберем только backend часть.

РЕШЕНИЕ

Независимый, но связанный

Перед нами стояла задача создать автономный сервис, который хранил бы в себе все данные, относящиеся к документам, и предоставлял из коробки полный набор инструментов для управления документами. Для такой задачи идеально подходил Django - он позволяет быстро построить нужную базу данных и при этом предоставляет отличную административную панель для управления файлами.

Мы создали отдельный сервис, но плотно интегрировали его в существующую экосистему - сделали внешнюю аутентификацию через бэкенд клиента, сделали много фильтров, работающих через апи, внедрили внутрь проекта внешнюю систему прав.

Чтобы обеспечить быструю работу с “родительскими” сервисами, мы по максимуму оптимизировали запросы к основу бэкенду - большая часть данных кэшировалась через Redis.

Сами файлы хранятся на приватном облачном хранилище Яндекс Облако. Подключить его было очень просто, так как в нем используется всем привычный протокол s3.

НЕОБЫЧНАЯ БИЗНЕС ЛОГИКА

Документы внутри системы 5 разных типов - каждый со своей бизнес-логикой. Самое сложное в них - уникальная система нумерации документов для каждого типа. В некоторых случаях номера могут дублироваться, сбрасываться раз в год или заранее бронироваться.

Все что попало в систему не пропадает из нее. Удаленные файлы исчезают из интерфейса CRM, но остаются в S3 хранилище. А запись об удалении сохраняется в админ панели

ВНЕДРЕНИЕ

До создания модуля документы заносились в 1С битрикс. Для запуска в продакшн мы сделали несколько скриптов, которые позволяют перенести документы из битрикса в микросервис. Во время передачи проекта мы подготовили для клиента подробные инструкции как правильно импортировать старые документы.

Чтобы в будущем было легко взаимодействовать с сервисом мы подготовили документацию в swagger. Она отображает 100% возможностей сервиса - все параметры фильтрации, авторизацию, параметры сортировки и т.д.

При этом документация выполнена в автоматическом режиме, что обеспечивает гарантию ее актуальности.

Результат

Мы успешно сдали проект, прошли несколько итераций правок в бизнес логику и теперь занимаемся долгосрочным развитием crm системы. Надеемся еще поработать над совместными проектами вместе c kokoc.tech.


Стек технологий

  • Python Python Язык программирования
  • Django Django Фреймворк/библиотека
  • PostgreSQL PostgreSQL База данных
  • Redis Redis База данных

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Batonis с удовольствием обсудит вашу задачу

Оставить заявку