{"id":18867317,"url":"https://github.com/daviteixeira-dev/api-restful-com-adonisjs","last_synced_at":"2026-04-12T18:41:05.995Z","repository":{"id":147209056,"uuid":"618134986","full_name":"daviteixeira-dev/API-RESTful-com-AdonisJS","owner":"daviteixeira-dev","description":"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.","archived":false,"fork":false,"pushed_at":"2023-04-03T04:35:58.000Z","size":242,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-30T22:32:18.556Z","etag":null,"topics":["adonis-lucid","adonisjs","eslint","javascript","mvc","rest-api","restful-api","sqlite3","typescript","uuid","yarn"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daviteixeira-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-23T20:32:12.000Z","updated_at":"2023-03-27T19:02:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"423c71e1-973b-4084-8165-9d0bbbf40869","html_url":"https://github.com/daviteixeira-dev/API-RESTful-com-AdonisJS","commit_stats":null,"previous_names":["daviteixeira-dev/api-restful-com-adonisjs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daviteixeira-dev%2FAPI-RESTful-com-AdonisJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daviteixeira-dev%2FAPI-RESTful-com-AdonisJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daviteixeira-dev%2FAPI-RESTful-com-AdonisJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daviteixeira-dev%2FAPI-RESTful-com-AdonisJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daviteixeira-dev","download_url":"https://codeload.github.com/daviteixeira-dev/API-RESTful-com-AdonisJS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239816478,"owners_count":19701753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adonis-lucid","adonisjs","eslint","javascript","mvc","rest-api","restful-api","sqlite3","typescript","uuid","yarn"],"created_at":"2024-11-08T05:09:02.208Z","updated_at":"2026-02-13T12:30:17.034Z","avatar_url":"https://github.com/daviteixeira-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://adonisjs.com/\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/13810373?s=280\u0026v=4\" alt=\"Logo\" width=\"\" height=\"100\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e API RESTful com AdonisJS \u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#Introdução\"\u003e 🧩 Introdução \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#Resultados\"\u003e 🚀 Resultados\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#Backend\"\u003e 💻 Back-end\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#Dependências\"\u003e 🧪 Dependências\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#Scripts\"\u003e 📖 Scripts\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/p\u003e\n\n\u003ca id=\"Introdução\"\u003e\u003c/a\u003e\n## 🧩 Introdução\n\n### É 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.\n\n\u003cul\u003e\n  \u003cli\u003eUm \u003cb\u003eframework Node.js\u003c/b\u003e, para desenvolver aplicações web;\u003c/li\u003e\n  \u003cli\u003eFacilita muito a programação de apps, possui uma estrutura similar ao \u003cb\u003eLaravel\u003c/b\u003e;\u003c/li\u003e\n  \u003cli\u003eUtilizar arquitetura \u003cb\u003eMVC\u003c/b\u003e;\u003c/li\u003e\n  \u003cli\u003ePossui vários recursos, como: \u003cb\u003eCLI\u003c/b\u003e, \u003cb\u003eFile upload\u003c/b\u003e simples, \u003cb\u003evalidações\u003c/b\u003e e etc;\u003c/li\u003e\n  \u003cli\u003eHá também outros pacotes externos para completar o ecossistema, como \u003cb\u003eORM\u003c/b\u003e, \u003cb\u003eAutenticação\u003c/b\u003e, \u003cb\u003eAutorização\u003c/b\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ca id=\"Resultados\"\u003e\u003c/a\u003e\n## 🚀 Resultados \n\n### O resultado desse projeto é a criação de uma \u003cb\u003eAPI RESTful\u003c/b\u003e onde temos um \u003cb\u003eCRUD\u003c/b\u003e e relacionamento entre entidades, aprendendo a como utilizar o framework. Os testes foram feitos via \u003cb\u003ePostman\u003c/b\u003e, para garantir o correto funcionamento da API.\n\n\u003ca id=\"Backend\"\u003e\u003c/a\u003e\n## 💻 Back-end\n\n### Instalação e inicialização da API\n\n### ```COMANDOS```\n\n#### Para instalar as dependências\n```\n yarn install\n```\n\n#### Para gerar a variável de ambiente APP_KEY\n```\n node ace generate:key\n```\nDepois de gerar o valor da key, procure por um arquivo chamado \".env.example\", faça uma copia desse arquivo e o renomeie para \n\".env\", em seguida copie o valor gerado no terminal da nova key e subistitua o valor de APP_KEY para o novo valor.\n\n#### Para rodar a API\n```\n node ace serve --watch\n```\nApó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:\n\n```\n node ace migration:run\n``` \n\n### Moments\n\n### 🎯 Pegar um momento atravez do ID\n\n### ```GET``` \n```URL\n http://localhost:3333/api/moments/1\n```\n\n### 🎯 Pegar todos os momentos\n\n### ```GET ALL``` \n```URL\n http://localhost:3333/api/moments\n```\n\n### 🎯 Registrar um momento no banco de dados\n  \n### ```POST``` \n```URL\nhttp://localhost:3333/api/moments\n```\n  \n```Body\nfrom-data\n\nkey (text): title - value: Algum valor\nkey (text): description - value: Alguma descrição\nkey (file): image - value: Alguma imagem do seu pc\n```\n\n### 🎯 Atualizar um momento no banco de dados\n  \n### ```PATCH``` \n```URL\nhttp://localhost:3333/api/moments/1\n```\n  \n```Body\nfrom-data\n\nkey (text): title - value: Atualizando Momento\nkey (text): description - value: Meu momento atualizado\nkey (file): image - value: Alguma imagem do seu pc\n```\n### Comments\n\n### 🎯 Add um comentário\n\n###```POST```\n```URL\nhttp://localhost:3333/api/moments/1/comments\n```\n\n```JSON\n\n{\n  \"username\": \"Seu Nome\",\n  \"text\": \"Algum outro comentário\"\n}\n```\n\n\u003ca id=\"Dependências\"\u003e\u003c/a\u003e\n## 🧪 Dependências\n\u003e Requisitos para rotar o codigo...\n\n\u003cul\u003e\n  \u003cli\u003e\n    \u003ca href=\"https://nodejs.org/en\"\u003eNode\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"https://yarnpkg.com/\"\u003eYarn\u003c/a\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ca id=\"Scripts\"\u003e\u003c/a\u003e\n## 📖 Scripts\n\n```JSON\n\"scripts\": {\n  \"dev\": \"node ace serve --watch\",\n  \"build\": \"node ace build --production\",\n  \"start\": \"node server.js\",\n  \"test\": \"node ace test\",\n  \"lint\": \"eslint . --ext=.ts\",\n  \"format\": \"prettier --write .\"\n}\n\n```\n### 📖 Dependencies \n\n```JSON\n\"dependencies\": {\n  \"@adonisjs/core\": \"^5.8.0\",\n  \"@adonisjs/lucid\": \"^18.3.0\",\n  \"@adonisjs/repl\": \"^3.1.0\",\n  \"luxon\": \"^3.3.0\",\n  \"proxy-addr\": \"^2.0.7\",\n  \"reflect-metadata\": \"^0.1.13\",\n  \"source-map-support\": \"^0.5.21\",\n  \"sqlite3\": \"^5.1.6\",\n  \"uuid\": \"^9.0.0\"\n}\n\n```\n\n### 📖 devDependencies \n\n```JSON\n\"devDependencies\": {\n  \"@adonisjs/assembler\": \"^5.9.5\",\n  \"@japa/preset-adonis\": \"^1.2.0\",\n  \"@japa/runner\": \"^2.5.1\",\n  \"@types/proxy-addr\": \"^2.0.0\",\n  \"@types/source-map-support\": \"^0.5.6\",\n  \"adonis-preset-ts\": \"^2.1.0\",\n  \"eslint\": \"^8.36.0\",\n  \"eslint-config-prettier\": \"^8.8.0\",\n  \"eslint-plugin-adonis\": \"^2.1.1\",\n  \"eslint-plugin-prettier\": \"^4.2.1\",\n  \"pino-pretty\": \"^10.0.0\",\n  \"prettier\": \"^2.8.6\",\n  \"typescript\": \"~4.6\",\n  \"youch\": \"^3.2.3\",\n  \"youch-terminal\": \"^2.2.0\"\n}\n\n```\n\n\u003cp align=\"center\"\u003eFeito com ❤️ por Davi Teixeira\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaviteixeira-dev%2Fapi-restful-com-adonisjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaviteixeira-dev%2Fapi-restful-com-adonisjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaviteixeira-dev%2Fapi-restful-com-adonisjs/lists"}