🧩 Introdução | 🚀 Resultados | 💻 Back-end | 🧪 Dependências | 📖 Scripts
É um framework que está sendo muito utilizado para construir APIs como também softwares monolitos, que tem o front-end junto ao backend, deixando assim muitas funcionalidades prontas, escrevendo menos códigos e tendo resultados mais rápidos para o desenvolvedor.
- Um framework Node.js, para desenvolver aplicações web;
- Facilita muito a programação de apps, possui uma estrutura similar ao Laravel;
- Utilizar arquitetura MVC;
- Possui vários recursos, como: CLI, File upload simples, validações e etc;
- Há também outros pacotes externos para completar o ecossistema, como ORM, Autenticação, Autorização.
O resultado desse projeto é a criação de uma API RESTful onde temos um CRUD e relacionamento entre entidades, aprendendo a como utilizar o framework. Os testes foram feitos via Postman, para garantir o correto funcionamento da API.
yarn install
node ace generate:key
Depois de gerar o valor da key, procure por um arquivo chamado ".env.example", faça uma copia desse arquivo e o renomeie para ".env", em seguida copie o valor gerado no terminal da nova key e subistitua o valor de APP_KEY para o novo valor.
node ace serve --watch
Após isso, o projeto vem com as migrações do banco de dados porem ele não vem com as tabelas, precisando assim crialas com o seguinte comando:
node ace migration:run
http://localhost:3333/api/moments/1
http://localhost:3333/api/moments
http://localhost:3333/api/moments
from-data
key (text): title - value: Algum valor
key (text): description - value: Alguma descrição
key (file): image - value: Alguma imagem do seu pc
http://localhost:3333/api/moments/1
from-data
key (text): title - value: Atualizando Momento
key (text): description - value: Meu momento atualizado
key (file): image - value: Alguma imagem do seu pc
###POST
http://localhost:3333/api/moments/1/comments
{
"username": "Seu Nome",
"text": "Algum outro comentário"
}
Requisitos para rotar o codigo...
"scripts": {
"dev": "node ace serve --watch",
"build": "node ace build --production",
"start": "node server.js",
"test": "node ace test",
"lint": "eslint . --ext=.ts",
"format": "prettier --write ."
}
"dependencies": {
"@adonisjs/core": "^5.8.0",
"@adonisjs/lucid": "^18.3.0",
"@adonisjs/repl": "^3.1.0",
"luxon": "^3.3.0",
"proxy-addr": "^2.0.7",
"reflect-metadata": "^0.1.13",
"source-map-support": "^0.5.21",
"sqlite3": "^5.1.6",
"uuid": "^9.0.0"
}
"devDependencies": {
"@adonisjs/assembler": "^5.9.5",
"@japa/preset-adonis": "^1.2.0",
"@japa/runner": "^2.5.1",
"@types/proxy-addr": "^2.0.0",
"@types/source-map-support": "^0.5.6",
"adonis-preset-ts": "^2.1.0",
"eslint": "^8.36.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-adonis": "^2.1.1",
"eslint-plugin-prettier": "^4.2.1",
"pino-pretty": "^10.0.0",
"prettier": "^2.8.6",
"typescript": "~4.6",
"youch": "^3.2.3",
"youch-terminal": "^2.2.0"
}
Feito com ❤️ por Davi Teixeira