Giter VIP home page Giter VIP logo

daviteixeira-btm / api-restful-com-adonisjs Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 242 KB

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.

TypeScript 100.00%
adonis-lucid adonisjs eslint javascript mvc rest-api restful-api sqlite3 typescript uuid yarn

api-restful-com-adonisjs's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.