{"id":24423410,"url":"https://github.com/mcodex/rocketseat-challenge1-nodejs","last_synced_at":"2025-08-28T12:19:54.750Z","repository":{"id":47910727,"uuid":"236860226","full_name":"mCodex/rocketseat-challenge1-nodejs","owner":"mCodex","description":"1st challenge from Rocketseat's bootcamp","archived":false,"fork":false,"pushed_at":"2022-12-11T22:23:24.000Z","size":468,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-23T17:48:10.220Z","etag":null,"topics":["expressjs","helmetjs"],"latest_commit_sha":null,"homepage":"https://github.com/Rocketseat/bootcamp-gostack-desafio-01","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/mCodex.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}},"created_at":"2020-01-28T22:53:10.000Z","updated_at":"2020-02-05T22:44:43.000Z","dependencies_parsed_at":"2023-01-27T08:16:15.976Z","dependency_job_id":null,"html_url":"https://github.com/mCodex/rocketseat-challenge1-nodejs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mCodex/rocketseat-challenge1-nodejs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mCodex%2Frocketseat-challenge1-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mCodex%2Frocketseat-challenge1-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mCodex%2Frocketseat-challenge1-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mCodex%2Frocketseat-challenge1-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mCodex","download_url":"https://codeload.github.com/mCodex/rocketseat-challenge1-nodejs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mCodex%2Frocketseat-challenge1-nodejs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272498239,"owners_count":24944819,"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-08-28T02:00:10.768Z","response_time":74,"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":["expressjs","helmetjs"],"created_at":"2025-01-20T10:17:56.781Z","updated_at":"2025-08-28T12:19:54.728Z","avatar_url":"https://github.com/mCodex.png","language":"JavaScript","readme":"# 1st challenge from Rocketseat's bootcamp\n\n## 📖 Introduction\n\nThe 1st challenge only requires an API which the user can does a simple CRUD. There isn't no DB, just a global array which is used as a database alike. \n\nThe instructions can be found [here](https://github.com/Rocketseat/bootcamp-gostack-desafio-01).\n\n## 📚 Libraries:\n\n* [ExpressJS](https://expressjs.com/) \n* [HelmetJS](https://helmetjs.github.io/)\n* [Airbnb's ESlint](https://www.npmjs.com/package/eslint-config-airbnb)\n\n## ⚡️ API\n\nThe main entity is `project` the following methods are implemented:\n\n\n**NOTE:** You can download the full Postman's collection [here](./docs/Challenge1-Rocketseat.postman_collection.json).\n\n### Project\n\n* #### Create\n\nYou can create a new one by doing:\n\n`POST /project`\n\nBody: \n\n```\n{\n    \"id\": 2,\n    \"title\": \"Hello\",\n    \"tasks\": []\n}\n```\n\n* #### Update\n\nYou can update a project just by passing its id to:\n\n`PUT /project/:id`\n\nBody:\n\n```\n{\n  \"title\": \"Another awesome title\"\n}\n```\n\n* #### Delete\n\nYou can delete a project just by passing its id to:\n\n`DELETE /project/:id`\n\n* #### GET\n\nYou can list all projects:\n\n`GET /projects`\n\n### Tasks\n\n* #### Create\nYou can add a taks into a project by doing:\n\n`POST /projects/:id/tasks`\n\nBody: \n\n```\n{\n\t\"title\": \"Lagwagon\"\n}\n```\n\n\n---\n\nMade with ❤️ by [mCodex](https://github.com/mcodex).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcodex%2Frocketseat-challenge1-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcodex%2Frocketseat-challenge1-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcodex%2Frocketseat-challenge1-nodejs/lists"}