Pular para o conteúdo principal

Estrutura do projeto

O projeto é dividido nos seguintes diretórios:

  • docs: aplicação com a documentação do projeto.
  • web: código do SDK voltado para o ambiente web.

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.