O setup inicial é todo descrito na aba de instalação no site do Adonis.
Depois dele, percebi que não havia testes. Mas encontrei um artigo no site mostrando como configurar os testes. Ele desencoraja o uso do Jest, pois ele tem muitas funcionalidades inúteis para testes de backend. Então vamos usar o Japa.
A autenticação foi feita com o @adonisjs/auth usando o método de API Tokens. Ele gera a model de usuário já com algumas configurações. Foi criado automaticamente um middleware para fazer a validação do token. Os tokens são armazenados no Redis, quando expirados eles são removidos e portanto invalidados.
Para tornar uma rota privada, basta colocar .middleware("auth")
no final dela e será exigido o bearer token no header.
Usamos o Drive do adonis para lidar com arquivos. Através da variável de ambiente DRIVE_DISK
nós dizemos se vamos armazenar o arquivo em memória ou no Google Cloud Storage.
Explicando cada script do package.json
dev
: roda o ambiente de desenvolvimento reagindo a cada modificaçãobuild
: compila o projeto pra pastaoutput
pronto pro deploystart
: roda o projeto a partir da pastaoutput
do script anteriorlint
: roda o eslint no projetoformat
: roda o prettier no projetotest
: executa os testes
O Adonis tem uma funcionalidade legal que é a validação de variáveis de ambiente. Se vc tentar iniciar sem as variáveis configuradas, ele gera erros personalizados pra avisar que algo está errado. Ele faz isso usando o arquivo env.ts
. Por isso, acredito que a documentação delas deve permanecer no código do projeto mesmo.
Usar o Gitmoji no seguinte formato:
Ex: ✨ Adds a new feature
- Setup project: https://docs.adonisjs.com/guides/installation
- Setup tests: https://docs.adonisjs.com/cookbooks/testing-adonisjs-apps#document
- Gerando o arquivo de keys do Google Cloud Storage: https://cloud.google.com/iam/docs/creating-managing-service-account-keys