Quando uma vinha é dividida — por exemplo, porque metade é arrendada ou plantada com uma nova casta — até agora era necessário eliminar a vinha existente e criar duas novas. Nesse processo, todos os dados associados perdiam-se: tarefas, ocorrências, registo de tempo.
A partir de agora, isso faz-se diretamente no mapa: traça-se uma linha sobre a vinha, e a área é automaticamente dividida em duas partes. Ambas as novas vinhas mantêm a sua ligação ao original — tarefas, ocorrências e registos de tempo mantêm-se preservados.
Isto parece simples, mas foi tecnicamente bastante exigente. A lógica de divisão de polígonos tem de lidar com todas as formas possíveis: áreas côncavas, áreas com buracos, e casos-limite em que a linha passa exatamente por um vértice. Para isso, utilizamos a biblioteca Turf.js no cliente e validamos o resultado novamente no servidor.
No âmbito da funcionalidade de divisão, revimos todo o editor de área. Os pontos são movidos de forma mais intuitiva, os pontos de controlo são maiores e mais visíveis, e a utilização em dispositivos táteis funciona significativamente melhor.
As melhorias mais importantes, em resumo:
Em vez de começar do zero, as novas explorações arrancam agora com as tarefas vitícolas habituais: podar, amarrar, desfolhar, desbastar, proteção fitossanitária, cortar taludes e muito mais. Os tipos podem ser ajustados, ampliados ou eliminados a qualquer momento.
Definimos os 47 tipos em conjunto com viticultores da Wachau, do Burgenland e da Südsteiermark. Cobrem todo o ciclo anual e têm os nomes habituais na viticultura de língua alemã.
Nos bastidores, houve uma grande atualização técnica: Spring Boot 4 com Hibernate 7 no servidor, Angular 21 no dashboard e Riverpod 3 na aplicação móvel. Estas atualizações trazem melhor desempenho e permitem-nos desenvolver novas funcionalidades mais depressa.
A migração para o Spring Boot 4 foi a maior alteração técnica desde o nosso início — mas já está a compensar. O tempo de arranque do servidor foi reduzido a metade.
Para vós, como utilizadores, isto não muda nada visível — mas a base mais rápida permite-nos entregar as próximas funcionalidades muito mais depressa.