About the project

The application helps the manufacturer's roofing distributors put together a complete roof offer without manual calculations. The user enters the roof's dimensions and pitch based on one of several templates, and marks the project's location on a map. The application builds a 3D model, plans the panel layout to use as little material as possible, selects flashing and accessories, estimates the possible energy output, and calculates the total cost. The result is a complete PDF offer with a roof visualization, drawings of each roof plane, a bill of materials, and a price that the salesperson can adjust on the spot with their own prices, discounts, and margin.

A commercial project, developed by a team, available only to the manufacturer's trade partners.

My role

I have been working on the project since July 2023 as a backend and DevOps developer. I am responsible for the server-side part of the application, the interfaces used to manage it, and everything that happens to the code once it reaches the repository: automated testing, deployment, monitoring, and backups.

  • REST API — the interface that both the user-facing application and the admin part are built on.
  • Admin panel — an extension of the document object, statistics, and management of offers, price lists, and user permissions. Django views combined with a Vue.js interface, fed by data from the API.
  • Integrations — HubSpot CRM, the manufacturer's internal ERP system, and an external service that estimates energy output from the installation.
  • Data exchange — importing and exporting data in several formats, price lists in XLSX, and technical drawings in DXF.
  • Deployments — automated tests, building, and deploying successive versions of the application.
  • Maintenance — setting up application and server monitoring, automating backups, and responding to incidents.