Back to Case Studies
A Customized Solution for Efficient Operations Management
Back to Case Studies
Client
CustomEase
Industry
Real Estate
Product
Web app
Date
2021
Skills
Ruby on Rails
Vue.js
Process Modelling
Javascript
RWD
Multitenancy
The application was created from scratch, but it was a new version of a project that GSC already used. They had a system that was used to manage service orders, but it was outdated and not very user-friendly. The system was also very slow, the interface was complex, not very intuitive, looked and felt old. On top of that it lacked some key features that the client needed. The system was also not mobile-friendly, which was very important for some of the client's employees working in the field.
We decided that given the scope of missing features and the state of the current code, a total rewrite was in order. Time spent on adapting the existing system would exceed the time in which we could provide a completly fresh solution. Technical debt was too great, a code quality of existing application was too far away from our standards. We could have refactored it, but it was not beneficial to the client in terms of budgeting and time. The client agreed with our assessment and we started working on the project.
The client could no longer efficiently work with the existing system. The system was not RWD compatible, and a big portion of their work, had to be done on site, where they would provide their services. This meant devices like tablets and mobiles, were a big priority, but they could only really work on dekstops.
Even there, the application would be slow, inefficient and not very user-friendly. The client had to spend a lot of time on training new employees on how to use the system, and even then, the system was not very intuitive. They also discovered how many more features they need, soon after receiving the "finished" product. Their current system was not easily extendable, and adding new features was a big hassle, often resulting in multiple regressions, and even worse performance.
The client was also confident with their process of conducting business, and rightfully so, it is a successful company. They wanted to sell their way of doing things, along with the app that would handle it, to other companies in the future. This meant that the system had to be multi-tenant, and easily extendable, to suit the needs of many different clients.
We used Vue.js and custom, flexbox based styling to create a modern, responsive frontend. This allowed the client to use the application on any device, and made the application look and feel modern and intuitive.
We tailored the application to streamline service orders, enabling effortless creation and tracking of all the costs, milestones, services of external, internal providers, customer data, job progresses and more.
Every project the client created, had a lot of data connected. Milestones, services, products, costs, everything was tracked on multiple stages of the project. When lookings at one view, it was all very clear, but the client also needed ways to summarize multiple projects at once. We discussed what their needs are, and created a robust reporting system that allowed them to see all the data they needed, in a way that was easy to understand and use further.
We ensured that once the client gets their hands on a ready system, they can easily sell the same application to other companies, without our further involvement. We implemented a multi-tenant system, that allowed the client to create new tenants, and manage them, all from the application itself. In a way, they had two systems at once, one for their internal projects, other for selling and managing the first system, across tenants.
The whole system was based around projects. That was the main entity, and everything else was connected to it. The wizard for creating the project was a pivotal part, and the view where the project was managed, was the most important one. However one new feature the client really needed, was a streamlined handling of taxes. This was a big job for project manager to understand with client what the needs are, and then for the developers to implement a system that would handle all the complex money handling logic.