FloraPoint
An app for the Evotor cash register that prints receipts based on data from Florapoint
As a result of the work of any department of the company (or even just an employee) new data is constantly created. It must be stored and accounted for in the process of business development. It is therefore important that the entire flow of information be easily accessible and can be viewed as a single, interconnected system.
We used to solve this problem by targeted implementation of IT-technologies. For example, we used an external CRM and knowledge base. This way all the data is scattered across different platforms, and for a team of 20 people it does not bring significant inconvenience. When the Sixhands team almost doubled, it started to badly influence our performance. Before it became critical, we decided to develop our own single ERP. Today our team includes more than 80 employees, and the extent to which our solution was convenient for the organization of work is especially noticeable.With the task to develop ERP we turned to ourselves :) In this case we will talk about some modules of our Sixhands ERP-system.
ERP as an integral part of the company’s team has to always be in operation. So when we were designing, we had to create a stable, fail-safe system. For example, in the design phase, we chose a microservice architecture, as such an organization provides modularity and makes the system more flexible and easy to maintain. Now our ERP consists of small subsystems, each of which is aimed at optimizing the work of different units. For example, there are departments for Sales, Business Analytics, Project Management etc.
All microservices of our ERP are connected to each other and communicate via REST API. Each of them is wrapped in a separate docker container. First of all, it makes it possible to isolate them from their habitats. It means that they work regardless of the PC running on. Secondly, it makes the system more flexible and easy to maintain, thanks to its ease of adjustment and configuration.
The first module that we implemented was the task-tracking system. With the help of it project managers can assign tasks to developers and monitor their performance. And since a significant part of the working communication of employees is in Telegram, we decided to develop Telegram-bot. This way we got an indispensable helper,of which we will tell below. We implemented the server part of the task-tracker on Node.js, and for the client-side we used the popular frontend-framework React.
Telegram-bot helped us to quickly integrate a task-tracker into the work of the company by becoming a bridge between ERP and the permanently open Telegram tab. We implemented a parser of string data so it could read and use the information on the platform, then pass it to the employees. Now, when in a corporate task tracker someone puts a task with the mark "Important", the Telegram-bot immediately notifies about it, so that the task is quickly transferred to the active status. The Telegram-bot also allows, without leaving the Telegram, to give in the ERP tasks to others, indicating the deadline and the level of importance for them. To develop the server part of the Telegram-bot we used backend framework Django.
How to make project management even more effective? You just need to introduce the reporting system. So our ERP gained another module.
WARNING: The next paragraph is full of technological terms.
The report control module is ruled by a script written in Python3. The script is run on the backend at the specified frequency and then on the API refers to the appropriate microservice. This way it gets the necessary statistics, on the basis of which it builds the HTML letter with the PDF-document, and such letters with reports are already sent to employees by e-mail.
One source of new orders is workers' exchanges and tender platforms, where the search for relevant projects takes place. We also automated this process by developing ERP parsers and integrators that help to find orders on the sites, simplifying the work of Sales managers. Orders that have passed the initial qualification automatically enter the sales funnel. If we used to use external popular CRM-systems for this purpose, now, with the advent of its own ERP, we wanted to customize this process under the characteristics of our company. So, we implemented another microservice for our corporate CRM system.
As a technology for parser and integrators, we used Selenium technology, and CRM was implemented on a technology stack consisting of Django and React.
When the customer has already discussed the concept of the project, it is time to send him a commercial proposal with indicative prices, deadlines, and other important details of development. To speed up this process, we have implemented a commercial proposal generator: Business Analyst can download Google Sheet in this system and get a static HTML page that can already be sent to the customer on the output.
Sixhands ERP quickly integrated into the life of the company and soon became an integral part of our work. It continues to expand and its modularity makes it easy to modify the system by adding new services. That is why this case is going to grow wider!
Our company has implemented a comprehensive system that optimizes our work processes and data management. The system features a microservice architecture that provides modularity and flexibility, making it easy for us to maintain and adjust. We use various modules such as task-tracking, reporting, sales management, and business analysis to help manage our projects and tasks more effectively. One of the most useful modules for us is the Telegram-bot, which allows us to communicate and manage tasks seamlessly through Telegram. We’re pleased to create a service that has helped us to streamline our workflow and improve our productivity.