Visão geral: Entendendo o Boilerplate
Visão geral: Entendendo o Boilerplate
Introdução
Fazendo uma breve apresentação do boilerplate, há duas pastas (/node
e /graphql
) e o arquivo manifest.json
, que é um arquivo importante para a sua aplicação no VTEX IO, dado que será o primeiro ponto de comunicação da sua app com o VTEX IO.
Visão geral do manifest.json
manifest.json
No arquivo manifest.json
, você encontrará o nome da app, vendor, versão e outras informações que você deve prestar atenção: builders, policies e dependencies. Neste passo inicial, temos as seguintes configurações:
- builders: quais builders sua app precisará. Neste caso, temos até o momento apenas o builder
node
, com sua respectiva versão; - policies: se a app que está sendo implementada necessita acessar serviços externos ou pegar dados de um local específico, é necessário declará-las. Até o momento, não há nenhuma policy declarada.
- dependencies: outras apps do VTEX IO que a sua app depende. Como mostrado abaixo, será necessário também linkar a app
events-example
, e esta é uma dependência que está declarada na aplicação deste curso.
Visão geral do diretório /node
/node
Todas as pastas utilizadas durante este curso já estão no projeto inicial. A maioria dos diretórios está vazio e serão preenchidos com outros arquivos ao longo do curso.
-
/node/clients
: ambos os arquivos estão praticamente em branco e são apenas placeholders para os próximos passos; -
/node/handlers
: contém um handler que será utilizado nos próximos passos; -
/node/utils
: você encontrará um arquivo que contém declarações de constantes globais (/node/constants.ts
); -
/node/index.ts
: contém as declarações iniciais para as funcionalidades da app, como as declarações de serviços e de cache, que serão incrementadas durante o curso. Neste arquivo, também é possível exportar implementações de funções que são resolvers; -
/node/service.json
: Descreve a sua API REST e algumas características que impactam diretamente nos atributos de infraestrutura da sua app.
Seu arquivo service.json
pode ser encontrado dentro da pasta /node
e será similar a:
{
"memory": 256,
"timeout": 2,
"minReplicas": 2,
"maxReplicas": 4,
"routes": {
"status": {
"path": "/_v/status/:code",
"public": true
}
}
Campo | Tipo | Descrição |
---|---|---|
memory | MegaBytes. | O quanto de memória sua app terá alocada. Este valor será sobrescrito se o IO detectar que sua app está abusando no uso de memória |
timeout | Seconds | A infraestrutura do VTEX IO irá abortar a conexão se o request demorar mais do que o valor do timeout |
minReplicas | Integer | Quando sua app estiver rodando, este valor é a quantidade de réplicas mínimas que estarão disponíveis |
maxReplicas | Integer | A máxima quantidade de réplicas a estarem disponíveis |
routes | - | Descreve as rotas REST da sua app, dentro deste objeto, você informará o nome, o caminho e se é pública ou privada |
Visão geral do diretório /graphql
/graphql
Neste diretório, você encontrará apenas pastas vazias e o arquivo vazio /graphql/schema.graphql
. Este também será preenchido ao longo do curso.
Dependências
A app tem uma dependência, que é a app events-example
. Esta aplicação, quando linkada em uma conta e workspace específicos, é responsável por prover exemplos de eventos. Durante o curso, conforme nos aproximarmos do assunto de eventos, haverá uma visão mais completa a respeito da app events-example
.
Dando início ao curso
Por enquanto, clone (git clone
) a app events-example
deste repositório e rode vtex link
na pasta onde o repositório foi clonado.
Sem a aplicação
events-example
, este curso não será linkado com sucesso, dado que a appevents-example
está listada como uma dependência.
Após rodar vtex link
na app events-example
, o terminal deve exibir uma rota de healthcheck, que será utilizada mais tarde. Ela é similar a imagem abaixo:
Ajude-nos a fazer este conteúdo melhor!
Os cursos do VTEX IO são de código aberto. Se você perceber algum problema, pode abrir um pull request!
Faça uma contribuiçãoUpdated 11 months ago