Introdução
Inicialmente o projeto foi pensado em ser construído em Vue.js, mas por questões de performance e dificultades em integrar com o HTML do WordPress/Elementor, foi decidido que o projeto seria construído em TypeScript sendo compilado para JavaScript.
Estrutura
O projeto é dividido em duas partes principais:
client: contém o código que roda no lado do clienteserver: contém o código do servidor
Client
O código do client foi segue a proposta de arquitetura limpa Clean Dart, sendo dividido em 4 camadas principais:
- domain: contém as classes de domínio.
- external: contém as classes que se comunicam com o servidor e bibliotecas external.
- infra: Contém as classes que funcionam como adaptadores para que o
presenterpossa se comunicar com odomaineexternal. - presenter: contém as classes de apresentação.
Server
Veja Server para mais informações.