Present with +200 partners in 32 countries, Dexma is a software provider for energy management. It implies that they offer a set of integrated software and hardware tools that enable their clients to have a full visibility of their energy consumption. The solution is web-based and hardware-neutral, combining various options as monitoring, analysis, alerts and reports, all of that in a dashboard that is very easy to use (SaaS solution based).
Dexma has many different apps and they wanted to develop a new web application that would be integrated to their intranet. As they had already worked with Apiumhub on other projects, they asked for our help when it came to the App development externalization. The goal was to automate the process of all the generated invoices and benefit from all the functionalities offered by a SCRUM platform as Jira. As Dexma is an Agile company and has been using these methodologies for a while now, and they work with Jira. For this project, there were three integrations:
- The first one was with their intranet. This implied doing a multiple instance application and separating the data & configuration of each one of the instances.
- The second one was with their API in order to collect and process data, in other words, to find errors and situations of danger, to then trigger events or issues.
- The third one was an integration of the application with JIRA to automate actions that were usually done manually as for example; creating projects or tasks, filling up information, etc. By using its API REST, all these actions would pass from being manual to automatic.
The main challenge here was with the third integration mentioned above, the integration of the application with JIRA; in fact, just a few people usually do that. Why is that? Well as JIRA started offering their API services not too long ago, it is constantly in a development process. This involves that there are many unsolved issues that are demanded by the small community that lacks support and information.
As the main issue came from the integration to JIRA’s API and that Apiuhub had no control over it, our team had to come up with different alternatives that would still enable us to reach the same end results. Different options were therefore proposed to Dexma as for example modifying the User Experience and a few functionalities of the application, to obtain a viable end product.
PHASE 1 – ESTIMATIONS
As mentioned earlier, Dexma has been working with Agile methodologies, which made it easier for Apiumhub for two different reasons. First, it meant that our team did not need to train them regarding that matter. Second, it implied that from the beginning of the project, Dexma had already created user stories and mockups; it was therefore very easy to make good estimations for the project that was divided into two sprints.
PHASE 2 – SPRINT 1
We then had to do the integration with the intranet to install the application using a handshake protocol. On the other side, with the integration of Dexma’s API, we verified the communication with the API using the token resulting of each installation of the end user. Finally, we had to do the integration with the API of JIRA using the protocol of oauth 1.0. In the first sprint, other than the integration of the application, we had to build the pipeline for the Continuous Integration of the project and we also delivered functionalities related to what was described earlier.
PHASE 3 – SPRINT 2
In this sprint, we focused on the development of all the functionalities that the application required regarding its users. We automated all the processes that were previously manual as for example reviewing invoices generated by counters. Every day, all the new invoices are inspected in a background process, which runs a series of rules easily configurable by the administrator. Moreover, there is a full traceability accessible to admin users. If a period is missed, incidents are generated in JIRA. This allows workers to take benefit of a great platform as JIRA.