Ferramentas de desenvolvimento¶
Back-end¶
PostgreSQL + PostGIS¶
Climweb usa PostgreSQL para armazenamento persistente.
PostGIS é uma extensão do PostgreSQL que adiciona suporte para objetos geográficos
Django + Alvéola CMS¶
No centro do sistema, executamos o framework Django. Uma estrutura popular foi escolhida para diminuir a barreira de criação de módulos personalizados que estendem o Climweb. Também procuramos uma estrutura com baterias incluídas, simples e comprovada. Django foi a escolha óbvia.
Wagtail é um sistema de gerenciamento de conteúdo (CMS) de código aberto construído sobre Django, um popular framework web Python. Ele foi projetado para ser amigável ao desenvolvedor, flexível e fornecer uma experiência de edição moderna e intuitiva para criadores de conteúdo.
A interface de usuário do Wagtail Admin e a experiência geral de edição fornecida pelo Wagtail tornaram-no uma boa escolha para Climweb, pois permite fácil criação e gerenciamento de conteúdo.
Estrutura REST do Django¶
Para criar endpoints rapidamente, lidar com autenticação externa, serialização de objetos, validação e fazer muito mais, usamos Django REST Framework.
Internacionalização¶
Para internacionalização (i18n), aproveitamos o suporte integrado do Django. A estrutura de internacionalização do Django nos permite traduzir facilmente nossa aplicação web para vários idiomas.
Para usar os recursos de internacionalização do Django, envolvemos nosso texto com uma função especial chamada gettext ou gettext_lazy. Para obter mais informações, consulte a documentação de internacionalização e localização do Django.
Front-end¶
Climweb usa principalmente modelos Django para o frontend. No entanto, também usamos Vue.js para algumas partes do frontend que requerem mais interatividade, como o componente de mapa da página inicial.
Usamos uma abordagem customizada para integrar Vue.js com Django. Esta abordagem combina os pontos fortes do sistema de templates do Django com os componentes reativos do Vue e é resumida da seguinte forma:
Principais etapas na integração do Vue no Django/Wagtail:
Configuração do projeto Vue: Use o Vite para criar o scaffold de um projeto Vue dentro do diretório do projeto Django, permitindo o desenvolvimento moderno de JavaScript com recursos como substituição de módulo a quente.
Integração de modelos Django: incorpore componentes Vue diretamente em modelos Django adicionando um
e incluindo o script do aplicativo Vue por meio de uma tag