Estrutura do projeto
O projeto é dividido nos seguintes diretórios:
docs
O projeto de documentação contém os seguintes diretórios:
docs
Aqui é onde ficam as páginas renderizadas a partir do path /docs, divididas entre developers, sendo a documentação mais técnica para desenvolvedores do projeto, e users, sendo a documentação para usuários que irão apenas implementar o SDK em sua aplicação/página.
Para entender melhor sobre as páginas, leia a documentação do docusaurus sobre este assunto.
src
Core do projeto, onde estão agrupados: os componentes, as demais páginas da aplicação, configurações do tema e de tipagem.
src/components
Componentes que serão utilizados para construir as páginas, divididos entre Elements, que são componentes mais genéricos e que podem ser reutilizados, e Modules, componentes específicos, geralmente contendo regras que não podem ser reutilizadas.
src/pages
Todas as demais páginas que farão parte da aplicação, porém, não serão acessados a partir do path /docs. O roteamento é feito a partir do nome do arquivo, ou seja, caso seja criado um arquivo denominado faq, o acesso a esta página será feito no caminho mydomain/faq.
src/theme
Contém as configurações do tema da aplicação, sendo que o arquivo Root.js contém a configuração do Provider do Chakra-UI e o arquivo theme.css contém css personalizado conforme documentação.
src/types
Contém algumas tipagens globais da aplicação.
src/ui
Agrupa os componentes e configurações de estilo utilizadas no Chakra-UI instalado na aplicação.
static
Guarda todos os tipos de arquivos estáticos utilizados para construção da documentação.
web
Os diretórios do projeto web são agrupados dentro da pasta src, sendo eles:
common
Funções e utilitários comuns da aplicação que podem ser utilizados em qualquer parte da mesma.
config
Configurações globais do projeto como: URLs, secrets, variáveis de ambiente, etc.
interfaces
As interfaces que definem o que os módulos devem respeitar e implementar.
modules
Os módulos do projeto, responsáveis por toda a lógica de funcionamento do SDK.
services
Chamadas feitas a serviços externos podendo utilizar diferentes métodos e protocolos.
tests
Guarda arquivos de testes de integração/e2e e configurações de testes unitários.