Skip to content

Framework que utiliza o padrão MVC, facilitando nossa vida na hora de criar aplicação com um CLI bem completo, repleto de comandos para criação de diversas estruturas como: Models, Controllers e Migrations.

Notifications You must be signed in to change notification settings

daviteixeira-dev/API-RESTful-com-AdonisJS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

Logo

API RESTful com AdonisJS

🧩 Introdução    |    🚀 Resultados   |    💻 Back-end   |    🧪 Dependências  |     📖 Scripts      

🧩 Introdução

É 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.

🚀 Resultados

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.

💻 Back-end

Instalação e inicialização da API

COMANDOS

Para instalar as dependências

 yarn install

Para gerar a variável de ambiente APP_KEY

 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.

Para rodar a API

 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

Moments

🎯 Pegar um momento atravez do ID

GET

 http://localhost:3333/api/moments/1

🎯 Pegar todos os momentos

GET ALL

 http://localhost:3333/api/moments

🎯 Registrar um momento no banco de dados

POST

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

🎯 Atualizar um momento no banco de dados

PATCH

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

Comments

🎯 Add um comentário

###POST

http://localhost:3333/api/moments/1/comments
{
  "username": "Seu Nome",
  "text": "Algum outro comentário"
}

🧪 Dependências

Requisitos para rotar o codigo...

📖 Scripts

"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

"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

"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

About

Framework que utiliza o padrão MVC, facilitando nossa vida na hora de criar aplicação com um CLI bem completo, repleto de comandos para criação de diversas estruturas como: Models, Controllers e Migrations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published