#Backend
Documents module Strana
Task
To develop a documentation storage module for client’s self-developed CRM-system.
Project info
Timeline - 5 months
Team - 3 people
Techologies - Django, Vue.js
Project features
We accomplished this project in cooperation with our partner – Kokoc.tech agency. Our part was a backend development, and our colleagues part was frontend development and project management. In this case study we will only present backend part.
Solution
Independent, but connected

Our task was to develop autonomous service, which would storage all data related to documentation, and also would provide a full tools set for documentation management from box. Django was a perfect choice to do this task. Django allows to create needed database fast. Moreover, it provides an excellent admin panel for file management.

We developed a separate service, however, we were able to successfully integrate it in already existing ecosystem. We did external authentication via client’s backend, created many filters, that worked via API, and deployed external rights system into project.

In order to ensure fast work with original services, we optimized requests to main backend at maximum. Most of data was cached via Redis.
Files are kept at private cloud storage YandexCloud. It was easy to connect to it, because YandexCloud uses S3.
Unusual business logic
There are 5 document types inside the system and each of them has its own business logic. The most difficult part about it is a fact that every type has a unique numbering system. In some cases, numbers will be duplicated, in others, numbers will be discarded once a year or reserve in advance.
Everything that got into system do not disappear from it. Deleted files are disappearing from CRM interfaces, but they still can be found in S3 storage. And record about file deletion is saved in admin panel.
Implementation
In order to create a module, all documentation was moved to 1C bitrix. For production start we developed some scripts, which allowed us to move documentation from bitrix to microservice. During project handing process, we prepared detailed instructions for our client on how to import old documentation right.
To make it easy to interact with service in the future, we prepared a documentation in swagger. It displays 100% of service’s potential: all filter options, authorization, sorting options and etc.
Wherein documentation is done in automatic mode. It is guarantees documentation relevance.
Results
We successfully finished project, went through some iteration corrections to business logic. Now, we pursue a long-term development of Strana’s CRM-system. We are hoping to once again work on a projects with our partner kokoc.tech.
Get a detailed offer
We'll send presentation to your email in 15 minutes
Your message has been sent successfully
Something went wrong while sending the email, please try again
ИП Зыкин Даниил Вадимович
ИНН 6686 03018504
ОГРН 322665800112500