{"id":18656067,"url":"https://github.com/leonardospereira/rocketnotesbackend","last_synced_at":"2026-04-11T06:03:34.813Z","repository":{"id":208442780,"uuid":"704554629","full_name":"LeonardoSPereira/RocketNotesBackEnd","owner":"LeonardoSPereira","description":"Aplicação BackEnd desenvolvida com o objetivo de listar suas notas.","archived":false,"fork":false,"pushed_at":"2024-09-11T20:39:17.000Z","size":275,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T18:50:37.488Z","etag":null,"topics":["cookies","express","jwt-authentication","knex","nodejs","sqlite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/LeonardoSPereira.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-10-13T14:04:00.000Z","updated_at":"2024-09-11T20:39:21.000Z","dependencies_parsed_at":"2023-11-21T14:47:46.948Z","dependency_job_id":"11a9566a-2b46-441b-9702-e612769c793e","html_url":"https://github.com/LeonardoSPereira/RocketNotesBackEnd","commit_stats":null,"previous_names":["leonardospereira/rocketnotesbackend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LeonardoSPereira/RocketNotesBackEnd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonardoSPereira%2FRocketNotesBackEnd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonardoSPereira%2FRocketNotesBackEnd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonardoSPereira%2FRocketNotesBackEnd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonardoSPereira%2FRocketNotesBackEnd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LeonardoSPereira","download_url":"https://codeload.github.com/LeonardoSPereira/RocketNotesBackEnd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonardoSPereira%2FRocketNotesBackEnd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31670383,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cookies","express","jwt-authentication","knex","nodejs","sqlite"],"created_at":"2024-11-07T07:21:45.323Z","updated_at":"2026-04-11T06:03:34.797Z","avatar_url":"https://github.com/LeonardoSPereira.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eRocketNotes Back-End\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n  [![Status](https://img.shields.io/badge/status-active-success.svg)]()\n\n  [Português](#pt)\n  /\n  [English](#en)\n  \n\u003c/div\u003e\n\n# Português \u003ca name = \"pt\"\u003e\u003c/a\u003e\n\n## 📝 Tabela de conteúdos\n\n- [Sobre](#about_pt)\n- [Tecnologias](#built_using_pt)\n- [Iniciando o projeto](#getting_started_pt)\n- [Usabilidade](#usage_pt)\n- [Testes](#tests_pt)\n\n## 🧐 Sobre \u003ca name = \"about_pt\"\u003e\u003c/a\u003e\n\nProjeto Back-end com funcionalidades de cadastrar usuários e que possibilite adicionar notas, links e tags sobre o que desejar.\n\n## ⛏️ Tecnologias usadas \u003ca name = \"built_using_pt\"\u003e\u003c/a\u003e\n\n- [NodeJs](https://nodejs.org/en/)\n- [Express](https://expressjs.com/)\n- [SQLite](https://www.sqlite.org/index.html)\n- [Knex](https://knexjs.org)\n- [JWT](https://jwt.io)\n- [Cookies](https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Cookies)\n\n## 🏁 Iniciando o projeto \u003ca name = \"getting_started_pt\"\u003e\u003c/a\u003e\n\nEssas instruções vão te guiar sobre como ter uma cópia funcional do projeto na sua máquina local para desenvolvimento e testes.\n\n### Pre-requisitos\n\nInicialmente você vai precisar de alguns programas instalados para que consiga fazer uso:\n\n- [Visual Studio Code](https://code.visualstudio.com) - Editor de código\n- [Node.js + npm](https://nodejs.org/en) - Versão LTS recomendada\n- [Insomnia](https://insomnia.rest/download) - Para realizar requisições HTTP\n- [Beekeeper Studio](https://www.beekeeperstudio.io) - Sistema de gerenciamento de banco de dados\n\n\n### Instalação\n\nUm passo a passo de como realizar a instalação dos arquivos na sua máquina.\n\nPrimeiramente, faça o download, clone do repositório ou uma cópia dos arquivos para seu computador.\n\nAbra os arquivos com o VSCODE e abra o terminal do editor através do comando CTRL + ' ou por meio da barra de ferramentas.\n\nEm seguida, no terminal, execute a seguinte linha de comando:\n\n```\nnpm install\n```\nEsse comando irá instalar todas as dependências necessárias para que consiga realizar os testes.\n\nEm seguida, execute uma das duas linhas de comando a seguir para iniciar o servidor local: \n\n```\nnpm run dev\n```\n\nPor fim, execute a seguinte linha de código:\n\n```\nnpm run migrate\n```\n\nEsse código irá executar as migrations presentes no código necessárias para criar as tabelas de notas e tags dentro do banco de dados que foi criado automaticamente.\n\n## 🎈 Usando \u003ca name=\"usage_pt\"\u003e\u003c/a\u003e\n\n### Criando Usuário\nPara iniciar o uso, abra o Insonmnia e o Beekeeper.\n\nNo Insonmnia, no botão de criar nova coleção, clique em importar e em seguida, faça a importação do arquivo de nome \n```\ninsomnia_rocketnotes.json\n```\npresente dentro da raiz do projeto para dentro do insomnia e você terá todas as requisições prontas para usar. \n\nEm seguida, acesse a pasta User e selecione a opção \"create\", altere os dados que quiser, como nome, email e a senha e clique em \"Send\". Com isso, o seu usuário deverá ser criado.\n\n### Iniciando uma sessão\nApós criar seu usuário, acesse a pasta Sessions e selecione a opção \"create\". Altere os dados conforme cadastro de seu usuário, comemail e senha e clique em \"Send\". Com isso, você terá criado uma sessão na aplicação.\n\n*É necessário iniciar uma sessão na aplicação, pelo fato de ser necessário o usuário estar autenticado para realizar as demais requisições. Conforme seria em uma aplicação normal, onde para acessar as suas funcionalidades, você precisa estar logado.*\n\n### Atualizando dados do usuário\n\nA função de atualizar os dados do usuário também estão disponíveis. Para isso, selecione o arquivo de update e altere os dados conforme desejar.\n\nTambém é possível atualizar a imagem do seu usuário. Acesse o arquivo Avatar e selecione a foto que desejar.\n\n### Criando notas\n\nPara criar notas, selecione o arquivo create, dentro da pasta Notes.\n\nEm seguida, envie os seguintes dados, sempre em formato de JSON, title (Título da nota), description (descrição), tags e links:\n```\n{\n\t\"title\": \"Introdução ao NODEJS\",\n\t\"description\": \"Essa é uma nota de exemplo\",\n\t\"tags\": [\"nodejs\", \"express\"],\n\t\"links\": [\"link1\", \"link2\"]\n}\n\n```\n### Listando notas\nPara listar suas notas, selecione o arquivo de Index, onde é necessário, na aba de query, fazer uma busca pelo título da nota cadastrada. Já na de Show, é necessário que informe o id da nota que deseja listar.\n\n### Listando tags\nPara listar as tags cadastradas, basta selecionar o arquivo de Index, dentro da pasta de Tags e clicar em Send. Com isso, suas tags serão listadas.\n\n### Deletando uma nota\nPara deletar uma determinada nota, selecione o arquivo de delete e passe, na url, o id da nota que deseja deletar.\n\n*Importante: caso delete uma nota, as tags relacionadas a ela também serão excluidas.*\n\n\n**Lembre-se sempre que é possível visualizar os dados e verificar os relativos id's do usuário, das notas e das tags presentes no seu banco de dados por meio do Beekeeper.**\n\n## 🔧 Testes \u003ca name = \"tests_pt\"\u003e\u003c/a\u003e\n\nForam criados três testes para essa aplicação utilizando o JEST.\n\nOs testes incluem criação de usuário, criar usuários com um email que já existe e de atualização de usuário.\n\nPara os testes, foi utilizada a técnica de utilização de um banco de dados em memória com o objetivo de evitar a utilização do banco de dados real.\n\nPara iniciar os testes, no terminal, digite o seguinte comando:\n```\nnpm run test\n```\n\n\n\n# English \u003ca name = \"en\"\u003e\u003c/a\u003e\n\n## 📝 Table of Contents\n\n- [About](#about_en)\n- [Technologies Used](#built_using_en)\n- [Getting Started](#getting_started_en)\n- [Usage](#usage_en)\n- [Tests](#tests_en)\n\n## 🧐 About \u003ca name = \"about_en\"\u003e\u003c/a\u003e\n\nBackend project with functionalities to register users and allow adding notes, links, and tags on desired subjects.\n\n## ⛏️ Technologies Used \u003ca name = \"built_using_en\"\u003e\u003c/a\u003e\n\n- [NodeJs](https://nodejs.org/en/)\n- [Express](https://expressjs.com/)\n- [SQLite](https://www.sqlite.org/index.html)\n- [Knex](https://knexjs.org)\n- [JWT](https://jwt.io)\n- [Cookies](https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Cookies)\n\n## 🏁 Getting Started \u003ca name = \"getting_started_en\"\u003e\u003c/a\u003e\n\nThese instructions will guide you on how to have a functional copy of the project on your local machine for development and testing.\n\n### Prerequisites\n\nYou'll initially need several installed programs to make use of it:\n\n- [Visual Studio Code](https://code.visualstudio.com) - Code editor\n- [Node.js + npm](https://nodejs.org/en) - Recommended LTS version\n- [Insomnia](https://insomnia.rest/download) - For making HTTP requests\n- [Beekeeper Studio](https://www.beekeeperstudio.io) - Database management system\n\n### Installation\n\nA step-by-step guide on how to install the files on your machine.\n\nFirstly, download, clone the repository, or create a copy of the files on your computer.\n\nOpen the files with VSCODE and open the editor's terminal via CTRL + ' or through the toolbar.\n\nNext, in the terminal, execute the following command:\n```\nnpm install\n```\n\nThis command will install all necessary dependencies to perform tests.\n\nThen, run either of the following commands to start the local server:\n\n```\nnpm run dev\n```\nFinally, execute the following line of code:\n```\nnpm run migrate\n```\n\nThis code will execute the necessary migrations present in the code to create the notes and tags tables within the automatically created database.\n\n## 🎈 Usage \u003ca name=\"usage_en\"\u003e\u003c/a\u003e\n\n### Creating User\nTo start using the application, open Insomnia and Beekeeper.\n\nIn Insomnia, in the button to create a new collection, click on import and then import the file named:\n```\ninsomnia_rocketnotes.json\n```\npresent inside the project's root into Insomnia, and you'll have all requests ready to use.\n\nNext, access the User folder and select the \"create\" option, change the data as desired, such as name, email, and password, and click \"Send\". Your user should be created.\n\n### Starting a Session\nAfter creating your user, access the Sessions folder and select the \"create\" option. Change the data according to your user registration, with email and password, and click \"Send\". This will create a session in the application.\n\n*Starting a session in the application is necessary because the user needs to be authenticated to make further requests, just as in a normal application where accessing its features requires being logged in.*\n\n### Updating User Data\n\nThe function to update user data is also available. To do this, select the update file and change the data as desired.\n\nIt's also possible to update your user's image. Access the Avatar file and select the photo you want.\n\n### Creating Notes\n\nTo create notes, select the create file inside the Notes folder.\n\nNext, send the following data, always in JSON format: title (Note title), description, tags, and links:\n```\n{\n  \"title\": \"Introduction to NODEJS\",\n  \"description\": \"This is an example note\",\n  \"tags\": [\"nodejs\", \"express\"],\n  \"links\": [\"link1\", \"link2\"]\n}\n```\n\n### Listing Notes\n\nTo list your notes, select the Index file, where in the query tab, search by the note's title. In Show, you'll need to provide the note's id that you want to list.\n\n### Listing Tags\n\nTo list the registered tags, select the Index file within the Tags folder and click Send. This will display your tags.\n\n### Deleting a Note\n\nTo delete a specific note, select the delete file and pass, in the URL, the note's id you want to delete.\n\n*Important: If you delete a note, the related tags will also be deleted.*\n\n**Remember that you can always view the data and check the respective user, note, and tag IDs in your database through Beekeeper.**\n\n## 🔧 Tests \u003ca name = \"tests_en\"\u003e\u003c/a\u003e\n\nThree tests have been created for this application using JEST.\n\nThe tests include user creation, creating users with an email that already exists, and updating a user.\n\nFor testing, the technique of using an in-memory database was employed to avoid using the actual database.\n\nTo start the tests, in the terminal, type the following command:\n```\nnpm run test\n```\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardospereira%2Frocketnotesbackend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonardospereira%2Frocketnotesbackend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardospereira%2Frocketnotesbackend/lists"}