{"id":19741914,"url":"https://github.com/rafa-kozand/ignite_node.js_challenge_02","last_synced_at":"2026-05-04T20:33:37.756Z","repository":{"id":117404503,"uuid":"590685371","full_name":"Rafa-KozAnd/Ignite_Node.js_Challenge_02","owner":"Rafa-KozAnd","description":"Node JS challenge done with 'Rocketseat' Ignite course. (\"Desafio: Trabalhando com middlewares\")","archived":false,"fork":false,"pushed_at":"2023-04-20T13:20:21.000Z","size":85,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-03T20:35:54.461Z","etag":null,"topics":["ignite","ignite-nodejs","ignite-rocketseat","javascript","nodejs","rocketseat"],"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/Rafa-KozAnd.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-01-19T00:40:27.000Z","updated_at":"2023-03-27T18:25:18.000Z","dependencies_parsed_at":"2024-06-12T00:05:00.953Z","dependency_job_id":null,"html_url":"https://github.com/Rafa-KozAnd/Ignite_Node.js_Challenge_02","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"rocketseat-education/ignite-template-trabalhando-com-middlewares","purl":"pkg:github/Rafa-KozAnd/Ignite_Node.js_Challenge_02","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafa-KozAnd%2FIgnite_Node.js_Challenge_02","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafa-KozAnd%2FIgnite_Node.js_Challenge_02/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafa-KozAnd%2FIgnite_Node.js_Challenge_02/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafa-KozAnd%2FIgnite_Node.js_Challenge_02/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rafa-KozAnd","download_url":"https://codeload.github.com/Rafa-KozAnd/Ignite_Node.js_Challenge_02/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafa-KozAnd%2FIgnite_Node.js_Challenge_02/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266456245,"owners_count":23931383,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["ignite","ignite-nodejs","ignite-rocketseat","javascript","nodejs","rocketseat"],"created_at":"2024-11-12T01:28:25.037Z","updated_at":"2026-05-04T20:33:32.736Z","avatar_url":"https://github.com/Rafa-KozAnd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"http://img.shields.io/static/v1?label=STATUS\u0026message=Concluded\u0026color=blue\u0026style=flat\"/\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/Rafa-KozAnd/Ignite_Node.js_Challenge_02\"\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/top/Rafa-KozAnd/Ignite_Node.js_Challenge_02\"\u003e\n  \u003cimg alt=\"GitHub repo file count\" src=\"https://img.shields.io/github/directory-file-count/Rafa-KozAnd/Ignite_Node.js_Challenge_02\"\u003e\n  \u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/Rafa-KozAnd/Ignite_Node.js_Challenge_02\"\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/license/Rafa-KozAnd/Ignite_Node.js_Challenge_02\"\u003e\n\u003c/p\u003e\n\n# Ignite_Node.js_Challenge_02\n\nNode JS challenge done with 'Rocketseat' Ignite course. (\"Desafio: Trabalhando com middlewares\")\n\n## 💻 Sobre o desafio\n\nNesse desafio você irá trabalhar mais a fundo com middlewares no Express. Dessa forma você será capaz de fixar mais ainda os conhecimentos obtidos até agora. \n\nPara facilitar um pouco mais do conhecimento da regra de negócio, você irá trabalhar com a mesma aplicação do desafio anterior: uma aplicação para gerenciar tarefas (ou *todos*) mas com algumas mudanças.\n\nSerá permitida a criação de um usuário com `name` e `username`, bem como fazer o CRUD de *todos*:\n\n- Criar um novo *todo*;\n- Listar todos os *todos*;\n- Alterar o `title` e `deadline` de um *todo* existente;\n- Marcar um *todo* como feito;\n- Excluir um *todo*;\n\nTudo isso para cada usuário em específico. Além disso, dessa vez teremos um plano grátis onde o usuário só pode criar até dez *todos* e um plano Pro que irá permitir criar *todos* ilimitados, isso tudo usando middlewares para fazer as validações necessárias.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafa-kozand%2Fignite_node.js_challenge_02","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafa-kozand%2Fignite_node.js_challenge_02","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafa-kozand%2Fignite_node.js_challenge_02/lists"}