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.