1 Project Manager
3 Back-end developers
5 Front-end developers
Backend: SpringBoot / Spring stack JPA / Hibernate 5, MySql, Amazon
Frontend: Angular 6, CKEditor 4, ChartJsQA: Apache JMeter, MySQL
SharkByte is a CRM that streamlines sales processes for mechanical service contractors. Our client, Perfectware Solutions, is a leading provider of service management and sales tracking software for Mechanical Service Industry. The company was seeking a team to develop a CRM with multi-tenant elements. It was important to the client to hire vendor with successful experience in the CRM building. Since Sombra had an apposite case developing multi-tenant software, the client chose us among other candidates.
Before a development process, we got acquainted with industry requirements and specifics to understand how Mechanical Service Industry works. During the development, the client collected feedbacks from contractors, which we implemented in SharkByte. Thereby, we succeeded in translating the real industry needs into the software.
We pursued the goal to create the tool for simplifying and automating the selling process specifically for service constructors. The other crucial point was to maintain the integrity of the company's data within one own database and tuning the system to the needs of companies.
The most complex issue was to implement multitenancy architecture into the system. There should be a new database for every tenant (company) and the system should retrieve data from the database for a particular user after the login.
Also, we have some difficulties with building a custom editor for proposals. We have used CKeditor as the base platform, but it turned out to lack functionality. Thereby, we have to drill into the library code and optimize it for our needs.
The issue with multi-tenancy was resolved through Hibernate using its default implementation for this purpose. The structure for databases behavior is the following: a master database managed by JDBC template and tenant database managed by Spring Data JPA. Master database holds the main information about the tenant and user credentials. Tenant database contains the info about the company, customers, users, opportunities and other crucial entities.
The crucial factor for us was to deliver a custom solution that meets all the contractors' needs by mapping and optimizing complex processes. The client wanted the software to stand out among available options that were not fulfilling industry requirements. There were either add-ons to service management software or packages customizing other commercial CRMs. So, we created a software encompassing essential features: