{"id":23038852,"url":"https://github.com/kauefraga/crud-rest","last_synced_at":"2026-04-12T15:03:50.492Z","repository":{"id":111885843,"uuid":"536340475","full_name":"kauefraga/crud-rest","owner":"kauefraga","description":"🔮 A restful CRUD to put some effort","archived":false,"fork":false,"pushed_at":"2022-10-27T23:28:54.000Z","size":142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T14:09:19.515Z","etag":null,"topics":["api","crud-rest-api","eslint","express","good-practices","nodejs","rest-api","typescript","vitest"],"latest_commit_sha":null,"homepage":"https://crud-rest.onrender.com/v1","language":"TypeScript","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/kauefraga.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-13T23:20:55.000Z","updated_at":"2022-10-27T23:35:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"f134b7c2-b0cc-4f95-9ffa-e63e2c69eedc","html_url":"https://github.com/kauefraga/crud-rest","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/kauefraga%2Fcrud-rest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kauefraga%2Fcrud-rest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kauefraga%2Fcrud-rest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kauefraga%2Fcrud-rest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kauefraga","download_url":"https://codeload.github.com/kauefraga/crud-rest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246911490,"owners_count":20853654,"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":["api","crud-rest-api","eslint","express","good-practices","nodejs","rest-api","typescript","vitest"],"created_at":"2024-12-15T18:25:42.994Z","updated_at":"2026-04-12T15:03:45.468Z","avatar_url":"https://github.com/kauefraga.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eCRUDzão com Restful\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg\n    alt=\"GitHub top language\"\n    src=\"https://img.shields.io/github/languages/top/kauefraga/crud-rest.svg\"\n  /\u003e\n  \u003cimg\n    alt=\"Repository size\"\n    src=\"https://img.shields.io/github/repo-size/kauefraga/crud-rest.svg\"\n  /\u003e\n  \u003ca href=\"https://github.com/kauefraga/crud-rest/commits/main\"\u003e\n    \u003cimg\n      alt=\"GitHub last commit\"\n      src=\"https://img.shields.io/github/last-commit/kauefraga/crud-rest.svg\"\n    /\u003e\n  \u003c/a\u003e\n  \u003cimg\n    alt=\"GitHub LICENSE\"\n    src=\"https://img.shields.io/github/license/kauefraga/crud-rest.svg\"\n  /\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003e🍃 Building an API Restful to use all good practices that i've known and keep learning 🍃\u003c/h4\u003e\n\n## ⬇️ How to download\n\n```bash\ngit clone https://github.com/kauefraga/crud-rest.git\ncd crud-rest\npnpm i\npnpm dev\n\n# If you want to run tests\npnpm test\n```\n\nOr downloading with yarn? `yarn \u0026\u0026 yarn dev`\n\u003cbr/\u003e\nIf you still prefer npm: `npm i \u0026\u0026 npm run dev`\n\n## ✨ Features\n\n- **Linters**: Eslint (config-airbnb-typescript)\n- Huge tests coverage\n- Code good practices\n  - Repositories pattern\n  - Implementation first and feature with dependencies after\n\u003c!-- - API production-quality implementation\n  - Versioning like _`GET /v1`_\n  - Request limitations\n  ```ts\n  // Response template (all responses are expected)\n  interface ApiResponse {\n    success: boolean;\n    data: {\n      [key: string]: any;\n      error?: Error;\n      now: Date; // ISO 8601 (date format)\n    };\n\n  }\n  ```\n    --\u003e\n\n## 💻 Technologies\n\n- 🎟️ Generating unique identifiers with [CUID](https://www.npmjs.com/package/cuid)\n- 💄 Code ruling with [Eslint](https://eslint.org)\n  - https://www.npmjs.com/package/eslint-config-airbnb-base\n  - https://www.npmjs.com/package/eslint-config-airbnb-typescript\n- ⚗️ Running tests on [Vitest](https://vitest.dev)\n  \u003e Implements Jest but with its own ESbuider (out of box typescript, esmodules...)\n- 🧑‍💻 Developed on [Typescript](https://typescriptlang.org) + [TS-Node-Dev](https://npmjs.com/package/ts-node-dev)\n  \u003e Improve dev experience by adding type safety\n\n## 🗃️ Routes view (not implemented)\n\n```bash\n# Return a specific user -\u003e user (!name = all users)\nGET /users/{name} ou /users?name=...\n\n# Return a specific user post -\u003e post (!id = all user posts)\nGET /users/name/posts/{id}\n\n# Create a user -\u003e user\nPOST /users/create\n\n# Create a post -\u003e post\nPOST /users/name/posts/create\n\n# Update a post -\u003e post (if i can, a diff)\nPUT /users/name/posts/id\n\n# Delete a user -\u003e user/void\nDELETE /users/name\n\n# Delete a post -\u003e post/void\nDELETE /users/name/posts/id\n```\n\n## 📝 License\n\nThis project is licensed under the MIT License - See the [LICENSE](https://github.com/kauefraga/crud-rest/blob/main/LICENSE) for more information.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"Built with love\" src=\"https://forthebadge.com/images/badges/built-with-love.svg\"\u003e\n  \u003cimg alt=\"Powered by coffee\" src=\"https://forthebadge.com/images/badges/powered-by-coffee.svg\"\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkauefraga%2Fcrud-rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkauefraga%2Fcrud-rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkauefraga%2Fcrud-rest/lists"}