{"id":21003190,"url":"https://github.com/devkayos/desafio-rocketseat-node","last_synced_at":"2025-07-23T10:34:14.327Z","repository":{"id":249276650,"uuid":"830807051","full_name":"DevKayoS/desafio-rocketseat-node","owner":"DevKayoS","description":"Esse e um desafio da rocketseat da formacao de node.js, no qual sera necessario fazer uma API usando node puro. Alem disso, essa e uma API que vai ser possivel fazer o controle de tasks","archived":false,"fork":false,"pushed_at":"2024-07-20T02:23:50.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T14:14:16.356Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/DevKayoS.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":"2024-07-19T03:33:11.000Z","updated_at":"2024-07-20T02:23:53.000Z","dependencies_parsed_at":"2024-11-19T08:25:39.212Z","dependency_job_id":"17b657ea-3ad5-40d3-a469-460010039330","html_url":"https://github.com/DevKayoS/desafio-rocketseat-node","commit_stats":null,"previous_names":["devkayos/desafio-rocketseat-node"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DevKayoS/desafio-rocketseat-node","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2Fdesafio-rocketseat-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2Fdesafio-rocketseat-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2Fdesafio-rocketseat-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2Fdesafio-rocketseat-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevKayoS","download_url":"https://codeload.github.com/DevKayoS/desafio-rocketseat-node/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2Fdesafio-rocketseat-node/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266663041,"owners_count":23964674,"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-23T02:00:09.312Z","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":[],"created_at":"2024-11-19T08:23:41.651Z","updated_at":"2025-07-23T10:34:14.293Z","avatar_url":"https://github.com/DevKayoS.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Sobre o desafio\n\nNesse desafio você desenvolverá uma API para realizar o CRUD de suas *tasks* (tarefas).\n\nA API deve conter as seguintes funcionalidades:\n\n- Criação de uma task\n- Listagem de todas as tasks\n- Atualização de uma task pelo `id`\n- Remover uma task pelo `id`\n- Marcar pelo `id` uma task como completa\n- E o verdadeiro desafio: Importação de tasks em massa por um arquivo CSV\n\n### Rotas e regras de negócio\n\nAntes das rotas, vamos entender qual a estrutura (propriedades) que uma task deve ter:\n\n- `id` - Identificador único de cada task\n- `title` - Título da task\n- `description` - Descrição detalhada da task\n- `completed_at` - Data de quando a task foi concluída. O valor inicial deve ser `null`\n- `created_at` - Data de quando a task foi criada.\n- `updated_at` - Deve ser sempre alterado para a data de quando a task foi atualizada.\n\nRotas:\n\n- `POST - /tasks` (x)\n    \n    Deve ser possível criar uma task no banco de dados, enviando os campos `title` e `description` por meio do `body` da requisição.\n    \n    Ao criar uma task, os campos: `id`, `created_at`, `updated_at` e `completed_at` devem ser preenchidos automaticamente, conforme a orientação das propriedades acima.\n    \n- `GET - /tasks` (x)\n    \n    Deve ser possível listar todas as tasks salvas no banco de dados.\n    \n    Também deve ser possível realizar uma busca, filtrando as tasks pelo `title` e `description`\n    \n- `PUT - /tasks/:id` (x)\n    \n    Deve ser possível atualizar uma task pelo `id`.\n    \n    No `body` da requisição, deve receber somente o `title` e/ou `description` para serem atualizados.\n    \n    Se for enviado somente o `title`, significa que o `description` não pode ser atualizado e vice-versa.\n    \n    Antes de realizar a atualização, deve ser feito uma validação se o `id` pertence a uma task salva no banco de dados.\n    \n- `DELETE - /tasks/:id` (x)\n    \n    Deve ser possível remover uma task pelo `id`.\n    \n    Antes de realizar a remoção, deve ser feito uma validação se o `id` pertence a uma task salva no banco de dados.\n    \n- `PATCH - /tasks/:id/complete` (x)\n    \n    Deve ser possível marcar a task como completa ou não. Isso significa que se a task estiver concluída, deve voltar ao seu estado “normal”.\n    \n    Antes da alteração, deve ser feito uma validação se o `id` pertence a uma task salva no banco de dados.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevkayos%2Fdesafio-rocketseat-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevkayos%2Fdesafio-rocketseat-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevkayos%2Fdesafio-rocketseat-node/lists"}