Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daviteixeira-dev/api-restful-com-adonisjs
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.
https://github.com/daviteixeira-dev/api-restful-com-adonisjs
adonis-lucid adonisjs eslint javascript mvc rest-api restful-api sqlite3 typescript uuid yarn
Last synced: about 6 hours ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/daviteixeira-dev/api-restful-com-adonisjs
- Owner: daviteixeira-dev
- Created: 2023-03-23T20:32:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-04-03T04:35:58.000Z (over 1 year ago)
- Last Synced: 2024-09-17T17:26:57.775Z (about 2 months ago)
- Topics: adonis-lucid, adonisjs, eslint, javascript, mvc, rest-api, restful-api, sqlite3, typescript, uuid, yarn
- Language: TypeScript
- Homepage:
- Size: 236 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
API RESTful com AdonisJS
🧩 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.
### 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```
```URL
http://localhost:3333/api/moments/1
```
### 🎯 Pegar todos os momentos
### ```GET ALL```
```URL
http://localhost:3333/api/moments
```
### 🎯 Registrar um momento no banco de dados
### ```POST```
```URL
http://localhost:3333/api/moments
```
```Body
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```
```URL
http://localhost:3333/api/moments/1
```
```Body
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```
```URL
http://localhost:3333/api/moments/1/comments
```
```JSON
{
"username": "Seu Nome",
"text": "Algum outro comentário"
}
```
## 🧪 Dependências
> Requisitos para rotar o codigo...
```JSON
"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
```JSON
"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
```JSON
"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