Design, Procurement & Permitting of Rooftop Solar Arrays
QuickMount PV is a CAD platform for designing solar panels on the roofs of buildings, and to receive information about generated power, cost and materials of this installation. Based on the geographical location of the installation it applies information about weather conditions in the area to calculate the amount of generated power and calculate parts to ensure minimal setup.
The project was originally started with only the QA team, but, eventually, the customer asked us to help him using our development team. We received a project in really bad shape with bad performance and also overly complex logic that was not needed.
The original application was written on top of the old Meteor framework version, which in the original setup didn’t work with more than 10 concurrent users. It was slow because it contained logic that was never used. For example, the application contained code to run on Google Glass, which was never tested, but every change in panels triggered the recalculation of parameters needed for the 3D virtualization of the roof. As a result, we started working on a new version of the application, and in parallel started reducing the size of the original application (because it was already in production). In the new version we were required to confirm every component/calculation, so we will thus not move the unused part to new code.
Another challenge was that the project was made for the US market, and we were working with Imperial units (inches, feet, mph, etc.) on UI, so we needed good way to display these values. In addition, we were requested by the end-users to display fractions instead of decimals, because some people could interpret 0.5 feet as 5 inches, and not 6 inches. So we implemented a way to convert decimals to fractions, which was not so easy for something that cannot be divided by 2 or 10.
Additionally, the roofs are not always parallel to the ground and, as we worked with Google Maps’ Satellite Mode (with the ability to rotate the camera), we were required to implement a way to project a 3D roof onto a 2D surface that can be rotated and also make it believable. It was a big challenge because Google Maps doesn’t have anything like this in their API, so we improvised, and it’s working!
Devico performed a great deal of work with supporting old legacy code to get it up and running and fix some problems in it. Moreover, Devico implemented new version of the system which was much easier to maintain and also more powerful. In addition, for new versions Devico implemented a new way of saving huge projects and made it much easier to restore it in Editor and also to perform a quick recalculation of the whole array.
QuickMount PV is in production today and now helps workers and end-customers do their job more effectively.