{"id":21933934,"url":"https://github.com/pabloxt14/rocketnotes-api","last_synced_at":"2025-10-05T22:38:00.717Z","repository":{"id":107123227,"uuid":"588282469","full_name":"PabloXT14/Rocketnotes-API","owner":"PabloXT14","description":"Este é o repositório do back-end da aplicação Rocketnotes, sendo está uma aplicação web na qual os usuários podem se cadastrar e criar de forma organizada anotações sobre determinados assuntos.","archived":false,"fork":false,"pushed_at":"2023-10-13T21:51:36.000Z","size":1721,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-29T00:13:58.886Z","etag":null,"topics":["jest","multer","nodejs","pm2","postgresql","react","reactjs","rocketseat","sqlite","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PabloXT14.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-01-12T18:57:26.000Z","updated_at":"2024-06-07T18:13:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"b68a908b-8253-4811-a439-4a1c1ff289a4","html_url":"https://github.com/PabloXT14/Rocketnotes-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloXT14%2FRocketnotes-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloXT14%2FRocketnotes-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloXT14%2FRocketnotes-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloXT14%2FRocketnotes-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PabloXT14","download_url":"https://codeload.github.com/PabloXT14/Rocketnotes-API/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235854946,"owners_count":19055684,"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":["jest","multer","nodejs","pm2","postgresql","react","reactjs","rocketseat","sqlite","typescript"],"created_at":"2024-11-29T00:14:00.798Z","updated_at":"2025-10-05T22:37:55.697Z","avatar_url":"https://github.com/PabloXT14.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\".github/logo-rocketnotes.svg\" title=\"Rocketnotes\" alt=\"\" width=\"30px\" /\u003e\n    Rocketnotes API\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/pabloxt14/Rocketnotes-API\"\u003e\n\n  \u003cimg alt=\"GitHub Top Language\" src=\"https://img.shields.io/github/languages/top/pabloxt14/Rocketnotes-API\" /\u003e\n\n  \u003cimg alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/pabloxt14/Rocketnotes-API\"\u003e\n  \n  \u003ca href=\"https://github.com/pabloxt14/Rocketnotes-API/commits/master\"\u003e\n    \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/pabloxt14/Rocketnotes-API\"\u003e\n  \u003c/a\u003e\n    \n   \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/pabloxt14/Rocketnotes-API\"\u003e\n\n   \u003ca href=\"https://github.com/pabloxt14/Rocketnotes-API/stargazers\"\u003e\n    \u003cimg alt=\"Stargazers\" src=\"https://img.shields.io/github/stars/pabloxt14/Rocketnotes-API?style=social\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003e \n\t🚀 Aplicação Finalizada 🚀\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"#-about\"\u003eAbout\u003c/a\u003e |\n \u003ca href=\"#-deploy\"\u003eDeploy\u003c/a\u003e | \n \u003ca href=\"#-how-it-works\"\u003eHow It Works\u003c/a\u003e | \n \u003ca href=\"#-technologies\"\u003eTechnologies\u003c/a\u003e | \n \u003ca href=\"#-author\"\u003eAuthor\u003c/a\u003e | \n \u003ca href=\"#-license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n\n## 💻 About\n\nEste é o repositório do back-end da aplicação Rocketnotes ([link do front-end](https://github.com/PabloXT14/Rocketnotes-Web)), sendo está uma aplicação web na qual os usuários podem se cadastrar e criar de forma organizada anotações sobre determinados assuntos, tendo disponível a adição de titulo, descrição, links e tags para cada nota, além de contar a edição de perfil do usuário, podendo alterar seu avatar, nome, email e senham, entre outras funcionalidades.\n\nVale ressaltar que este projeto faz parte da trilha/curso **Explorer** oferecida pela [Rocketseat](https://www.rocketseat.com.br/) para quem tiver interesse.\n\n---\n\n## 🔗 Deploy\n\nO acesso ao deploy da API fica disponível através da seguinte URL base: https://rocketnotes-api-epnx.onrender.com\n\n\u003e Obs: a aplicação pode demorar um pouco para entrar na primeira execução depois de um tempo, devido ao back-end estar rodando através do plano gratuito na plataforma de hospedagem.\n\n---\n\n## 🚀 How it works\n\n### Pré-requisitos\n\nAntes de baixar o projeto você vai precisar ter instalado na sua máquina as seguintes ferramentas:\n\n* [Git](https://git-scm.com)\n* [NodeJS](https://nodejs.org/en/)\n* [Yarn](https://yarnpkg.com/) ou [NPM](https://www.npmjs.com/)\n\nAlém disto é bom ter um editor para trabalhar com o código como [VSCode](https://code.visualstudio.com/)\n\n### 🎲 Rodando o Backend (servidor)\n\n```bash\n# Clone este repositório\n$ git clone git@github.com:pabloxt14/Rocketnotes-API.git\n\n# Acesse a pasta do projeto no terminal/cmd\n$ cd Rocketnotes-API\n\n# Configure as variáveis de ambiente em um arquivo .env na raiz do projeto (use o arquivo .env.example como base)\n\n# Instale as dependências\n$ npm install\n\n# Execute as migrations\n$ npm run migrate:dev\n\n# Execute a aplicação em modo de desenvolvimento\n$ npm run dev\n\n# O servidor inciará na porta:3333 - acesse http://localhost:3333\n\n# Executar testes (caso queira)\n$ npm test\n```\n\n### Rotas\n\n| Método | Rota\t| Descrição\t| Parâmetros | Observação |\n| --- | --- | --- | --- | --- |\n| POST | /sessions | Retorna os dados de autenticação de um usuário existente | `email`, `password` | enviar parâmetros no `body` | \n| GET\t| /users\t| Retorna um usuário específico\t| `token` |\tenviar `token` de autenticação no `header` |\n| POST | /users | Cria um novo usuário | `name`, `email`, `password` | enviar parâmetros no `body` da requisição |\n| PUT | /users | Atualiza um usuário específico | `token`, `name`, `email`, `password`, `newPassword`(opcional) | enviar `token` pelo `header` e o restante no `body` |\n| PATCH | /users/avatar | Atualiza o avatar de um usuário específico | `token`, `avatar` | enviar `token` pelo `header` e o `avatar` no formato `multipart` |\n| GET | /notes | Retorna todas as notas de um usuário | `token` | enviar `token` de autenticação no `header` |\n| GET | /notes:id | Retorna uma nota específica | `id`, `token` |  enviar `token` pelo `header` e `id` pela rota |\n| POST | /notes | Cria uma nota | `title`, `description`, `tags`(array, optional), `links`(array, optional) | enviar `token` pelo `header` e o restante no `body` |\n| DELETE | /notes/:id | Deleta uma nota específica | `id`, `token` | enviar `token` pelo `header` e `id` pela rota |\n| GET | /tags | Retornas as tags criadas por um usuário | `token` | enviar `token` de autenticação no `header` |\n| GET | /files/:filename | Retorna arquivos de avatar | `filename` | enviar `filename` pela rota |\n\n\u003e Obs: todos os parâmetros enviados e respondidos no corpo da requisição e resposta estão no formato `JSON`.\n\n---\n\n## 🛠 Technologies\n\nAs seguintes ferramentas foram usadas na construção do projeto:\n\n#### **Server**  ([NodeJS](https://nodejs.org/en/))\n\n-   **[Express](https://expressjs.com/pt-br/)**\n-   **[Nodemon](https://www.npmjs.com/package/nodemon)**\n-   **[Express-Async-Errors](https://www.npmjs.com/package/express-async-errors)**\n-   **[Knex](https://knexjs.org/)**\n-   **[PostgreSQL](https://node-postgres.com/)**\n-   **[SQLite](https://github.com/mapbox/node-sqlite3)**\n-   **[CORS](https://www.npmjs.com/package/cors)**\n-   **[Dotenv](https://www.npmjs.com/package/dotenv)**\n-   **[bcryptjs](https://www.npmjs.com/package/bcryptjs)**\n-   **[jsonwebtoken](https://www.npmjs.com/package/jsonwebtoken)**\n-   **[Multer](https://www.npmjs.com/package/multer)**\n-   **[PM2](https://pm2.keymetrics.io/)**\n-   **[Jest](https://jestjs.io/pt-BR/)**\n\n\u003e Para mais detalhes das dependências gerais da aplicação veja o arquivo [package.json](./package.json)\n\n---\n\n## ✍ Author\n\n\u003cimg alt=\"Perfil Github\" title=\"Perfil Github\" src=\"https://github.com/PabloXT14.png\" width=\"100px\" /\u003e\n\n[![Linkedin Badge](https://img.shields.io/badge/-Pablo_Alan-blue?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\u0026link=https://www.linkedin.com/in/pabloalan/)](https://www.linkedin.com/in/pabloalan/)\n\n[![Gmail Badge](https://img.shields.io/badge/-pabloxt14@gmail.com-c14438?style=flat-square\u0026logo=Gmail\u0026logoColor=white\u0026link=mailto:pabloxt14@gmail.com)](mailto:pabloxt14@gmail.com)\n\n---\n\n## 📝 License\n\nEste projeto está sob a licença MIT. Consulte o arquivo [LICENSE](./LICENSE) para mais informações\n\nFeito com 💜 por Pablo Alan 👋🏽 [Entre em contato!](https://www.linkedin.com/in/pabloalan/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpabloxt14%2Frocketnotes-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpabloxt14%2Frocketnotes-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpabloxt14%2Frocketnotes-api/lists"}