{"id":13394251,"url":"https://github.com/hoodiehq/hoodie","last_synced_at":"2025-04-29T18:23:42.658Z","repository":{"id":3708909,"uuid":"4780572","full_name":"hoodiehq/hoodie","owner":"hoodiehq","description":":dog: The Offline First JavaScript Backend","archived":false,"fork":false,"pushed_at":"2024-07-27T11:21:44.000Z","size":11434,"stargazers_count":4415,"open_issues_count":77,"forks_count":475,"subscribers_count":161,"default_branch":"master","last_synced_at":"2025-04-17T18:45:06.510Z","etag":null,"topics":["backend","hoodie","javascript","offline-first"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hoodiehq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2012-06-25T10:44:38.000Z","updated_at":"2025-03-30T00:40:21.000Z","dependencies_parsed_at":"2024-06-18T13:41:56.702Z","dependency_job_id":"6a534d04-0056-431d-9f4f-d4c76b6cec27","html_url":"https://github.com/hoodiehq/hoodie","commit_stats":{"total_commits":1319,"total_committers":117,"mean_commits":"11.273504273504274","dds":0.8157695223654283,"last_synced_commit":"bd1354f10b2bcad154f24c3b35865ce3e05bd83a"},"previous_names":["hoodiehq/hoodie.js"],"tags_count":168,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodiehq%2Fhoodie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodiehq%2Fhoodie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodiehq%2Fhoodie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodiehq%2Fhoodie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoodiehq","download_url":"https://codeload.github.com/hoodiehq/hoodie/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251246394,"owners_count":21558762,"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":["backend","hoodie","javascript","offline-first"],"created_at":"2024-07-30T17:01:13.828Z","updated_at":"2025-04-29T18:23:42.634Z","avatar_url":"https://github.com/hoodiehq.png","language":"JavaScript","funding_links":["https://opencollective.com/hoodie","https://opencollective.com/hoodie/backer/0/avatar","https://opencollective.com/hoodie/backer/0/website","https://opencollective.com/hoodie/backer/1/avatar","https://opencollective.com/hoodie/backer/1/website","https://opencollective.com/hoodie/backer/2/avatar","https://opencollective.com/hoodie/backer/2/website","https://opencollective.com/hoodie/backer/3/avatar","https://opencollective.com/hoodie/backer/3/website","https://opencollective.com/hoodie/backer/4/avatar","https://opencollective.com/hoodie/backer/4/website","https://opencollective.com/hoodie/backer/5/avatar","https://opencollective.com/hoodie/backer/5/website","https://opencollective.com/hoodie/backer/6/avatar","https://opencollective.com/hoodie/backer/6/website","https://opencollective.com/hoodie/backer/7/avatar","https://opencollective.com/hoodie/backer/7/website","https://opencollective.com/hoodie/backer/8/avatar","https://opencollective.com/hoodie/backer/8/website","https://opencollective.com/hoodie/backer/9/avatar","https://opencollective.com/hoodie/backer/9/website","https://opencollective.com/hoodie/backer/10/avatar","https://opencollective.com/hoodie/backer/10/website","https://opencollective.com/hoodie/backer/11/avatar","https://opencollective.com/hoodie/backer/11/website","https://opencollective.com/hoodie/backer/12/avatar","https://opencollective.com/hoodie/backer/12/website","https://opencollective.com/hoodie/backer/13/avatar","https://opencollective.com/hoodie/backer/13/website","https://opencollective.com/hoodie/backer/14/avatar","https://opencollective.com/hoodie/backer/14/website","https://opencollective.com/hoodie/backer/15/avatar","https://opencollective.com/hoodie/backer/15/website","https://opencollective.com/hoodie/backer/16/avatar","https://opencollective.com/hoodie/backer/16/website","https://opencollective.com/hoodie/backer/17/avatar","https://opencollective.com/hoodie/backer/17/website","https://opencollective.com/hoodie/backer/18/avatar","https://opencollective.com/hoodie/backer/18/website","https://opencollective.com/hoodie/backer/19/avatar","https://opencollective.com/hoodie/backer/19/website","https://opencollective.com/hoodie/backer/20/avatar","https://opencollective.com/hoodie/backer/20/website","https://opencollective.com/hoodie/backer/21/avatar","https://opencollective.com/hoodie/backer/21/website","https://opencollective.com/hoodie/backer/22/avatar","https://opencollective.com/hoodie/backer/22/website","https://opencollective.com/hoodie/backer/23/avatar","https://opencollective.com/hoodie/backer/23/website","https://opencollective.com/hoodie/backer/24/avatar","https://opencollective.com/hoodie/backer/24/website","https://opencollective.com/hoodie/backer/25/avatar","https://opencollective.com/hoodie/backer/25/website","https://opencollective.com/hoodie/backer/26/avatar","https://opencollective.com/hoodie/backer/26/website","https://opencollective.com/hoodie/backer/27/avatar","https://opencollective.com/hoodie/backer/27/website","https://opencollective.com/hoodie/backer/28/avatar","https://opencollective.com/hoodie/backer/28/website","https://opencollective.com/hoodie/backer/29/avatar","https://opencollective.com/hoodie/backer/29/website","https://opencollective.com/hoodie/sponsor/0/avatar","https://opencollective.com/hoodie/sponsor/1/avatar","https://opencollective.com/hoodie/sponsor/2/avatar","https://opencollective.com/hoodie/sponsor/3/avatar","https://opencollective.com/hoodie/sponsor/4/avatar","https://opencollective.com/hoodie/sponsor/5/avatar","https://opencollective.com/hoodie/sponsor/6/avatar","https://opencollective.com/hoodie/sponsor/7/avatar","https://opencollective.com/hoodie/sponsor/8/avatar","https://opencollective.com/hoodie/sponsor/9/avatar","https://opencollective.com/hoodie/sponsor/10/avatar","https://opencollective.com/hoodie/sponsor/11/avatar","https://opencollective.com/hoodie/sponsor/12/avatar","https://opencollective.com/hoodie/sponsor/13/avatar","https://opencollective.com/hoodie/sponsor/14/avatar","https://opencollective.com/hoodie/sponsor/15/avatar","https://opencollective.com/hoodie/sponsor/16/avatar","https://opencollective.com/hoodie/sponsor/17/avatar","https://opencollective.com/hoodie/sponsor/18/avatar","https://opencollective.com/hoodie/sponsor/19/avatar"],"categories":["JavaScript","backend","Storage"],"sub_categories":["Runner"],"readme":"# hoodie\n\n\u003e A generic backend with a client API for Offline First applications\n\n[![Build Status](https://travis-ci.org/hoodiehq/hoodie.svg?branch=master)](https://travis-ci.org/hoodiehq/hoodie)\n[![Coverage Status](https://coveralls.io/repos/hoodiehq/hoodie/badge.svg?branch=master)](https://coveralls.io/github/hoodiehq/hoodie?branch=master)\n[![Dependency Status](https://david-dm.org/hoodiehq/hoodie.svg)](https://david-dm.org/hoodiehq/hoodie)\n[![devDependency Status](https://david-dm.org/hoodiehq/hoodie/dev-status.svg)](https://david-dm.org/hoodiehq/hoodie#info=devDependencies)\n\n\u003ca href=\"http://hood.ie/animals/#low-profile-dog\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1888826?v=3\u0026s=200\"\n alt=\"The Low-Profile Dog Hoodie Mascot\" title=\"The Low-Profile Dog Hoodie Mascot\" align=\"right\" /\u003e\u003c/a\u003e\n\nHoodie lets you build apps [without _thinking_ about the backend](http://nobackend.org/)\nand makes sure that they work great [independent of connectivity](http://offlinefirst.org/).\n\nThis is Hoodie’s main repository. It starts a server and serves the client API.\nRead more about [How the Hoodie server works](server).\n\nA good place to start is our [Tracker App](https://github.com/hoodiehq/hoodie-app-tracker).\nYou can play around with Hoodie’s APIs in the browser console and see how it\nworks all together in its [simple HTML and JavaScript code](https://github.com/hoodiehq/hoodie-app-tracker/tree/master/public).\n\nIf you have any questions come and say hi in our [chat](http://hood.ie/chat/).\n\n## Setup\n\nThis setup is working for all operating system, testing on Windows 8, Windows 8.1, Windows 10, Mac and Linux.\n\nHoodie is a [Node.js](https://nodejs.org/en/) package. You need Node Version 4\nor higher and npm Version 2 or higher, check your installed version with `node -v` and `npm -v`.\n\nFirst, create a folder and a [package.json](https://docs.npmjs.com/files/package.json) file\n\n```\nmkdir my-app\ncd my-app\nnpm init -y\n```\n\nNext, install hoodie and save it as dependency\n\n```\nnpm install --save hoodie\n```\n\nNow start up your Hoodie app\n\n```\nnpm start\n```\n\nYou can find a more thorough description in our [Getting Started Guide](http://docs.hood.ie/en/latest/guides/quickstart.html).\n\n## Usage\n\n`hoodie` can be used standalone or as a [hapi plugin](http://hapijs.com/tutorials/plugins).\nThe options are slightly different. For the standalone usage, see [Hoodie’s configuration guide](http://docs.hood.ie/en/latest/guides/configuration.html).\nFor the hapi plugin usage, see [Hoodie’s hapi plugin usage guide](http://docs.hood.ie/en/latest/guides/hapi-plugin.html).\n\n## Testing\n\nLocal setup\n\n```\ngit clone https://github.com/hoodiehq/hoodie.git\ncd hoodie\nnpm install\n```\n\nThe `hoodie` test suite is run with `npm test`.\nYou can [read more about testing Hoodie](test).\n\nYou can start hoodie itself by using `npm start`. It will serve the contents\nof the [public folder](public).\n\n## Backers\n\n[Become a backer](https://opencollective.com/hoodie#support) and show your Hoodie support!\n\n[![](https://opencollective.com/hoodie/backer/0/avatar)](https://opencollective.com/hoodie/backer/0/website)\n[![](https://opencollective.com/hoodie/backer/1/avatar)](https://opencollective.com/hoodie/backer/1/website)\n[![](https://opencollective.com/hoodie/backer/2/avatar)](https://opencollective.com/hoodie/backer/2/website)\n[![](https://opencollective.com/hoodie/backer/3/avatar)](https://opencollective.com/hoodie/backer/3/website)\n[![](https://opencollective.com/hoodie/backer/4/avatar)](https://opencollective.com/hoodie/backer/4/website)\n[![](https://opencollective.com/hoodie/backer/5/avatar)](https://opencollective.com/hoodie/backer/5/website)\n[![](https://opencollective.com/hoodie/backer/6/avatar)](https://opencollective.com/hoodie/backer/6/website)\n[![](https://opencollective.com/hoodie/backer/7/avatar)](https://opencollective.com/hoodie/backer/7/website)\n[![](https://opencollective.com/hoodie/backer/8/avatar)](https://opencollective.com/hoodie/backer/8/website)\n[![](https://opencollective.com/hoodie/backer/9/avatar)](https://opencollective.com/hoodie/backer/9/website)\n[![](https://opencollective.com/hoodie/backer/10/avatar)](https://opencollective.com/hoodie/backer/10/website)\n[![](https://opencollective.com/hoodie/backer/11/avatar)](https://opencollective.com/hoodie/backer/11/website)\n[![](https://opencollective.com/hoodie/backer/12/avatar)](https://opencollective.com/hoodie/backer/12/website)\n[![](https://opencollective.com/hoodie/backer/13/avatar)](https://opencollective.com/hoodie/backer/13/website)\n[![](https://opencollective.com/hoodie/backer/14/avatar)](https://opencollective.com/hoodie/backer/14/website)\n[![](https://opencollective.com/hoodie/backer/15/avatar)](https://opencollective.com/hoodie/backer/15/website)\n[![](https://opencollective.com/hoodie/backer/16/avatar)](https://opencollective.com/hoodie/backer/16/website)\n[![](https://opencollective.com/hoodie/backer/17/avatar)](https://opencollective.com/hoodie/backer/17/website)\n[![](https://opencollective.com/hoodie/backer/18/avatar)](https://opencollective.com/hoodie/backer/18/website)\n[![](https://opencollective.com/hoodie/backer/19/avatar)](https://opencollective.com/hoodie/backer/19/website)\n[![](https://opencollective.com/hoodie/backer/20/avatar)](https://opencollective.com/hoodie/backer/20/website)\n[![](https://opencollective.com/hoodie/backer/21/avatar)](https://opencollective.com/hoodie/backer/21/website)\n[![](https://opencollective.com/hoodie/backer/22/avatar)](https://opencollective.com/hoodie/backer/22/website)\n[![](https://opencollective.com/hoodie/backer/23/avatar)](https://opencollective.com/hoodie/backer/23/website)\n[![](https://opencollective.com/hoodie/backer/24/avatar)](https://opencollective.com/hoodie/backer/24/website)\n[![](https://opencollective.com/hoodie/backer/25/avatar)](https://opencollective.com/hoodie/backer/25/website)\n[![](https://opencollective.com/hoodie/backer/26/avatar)](https://opencollective.com/hoodie/backer/26/website)\n[![](https://opencollective.com/hoodie/backer/27/avatar)](https://opencollective.com/hoodie/backer/27/website)\n[![](https://opencollective.com/hoodie/backer/28/avatar)](https://opencollective.com/hoodie/backer/28/website)\n[![](https://opencollective.com/hoodie/backer/29/avatar)](https://opencollective.com/hoodie/backer/29/website)\n\n## Official Sponsors\n\nShow your support for Hoodie and [help us sustain our inclusive community](http://hood.ie/blog/sustaining-hoodie.html). We will publicly appreciate your support and happy to get your word out as well, as long as it aligns with our [Code of Conduct](http://hood.ie/code-of-conduct/).\n\n[![](https://opencollective.com/hoodie/sponsor/0/avatar)](https://opencollective.com/hoodie/sponsor/0/website)\n[![](https://opencollective.com/hoodie/sponsor/1/avatar)](https://opencollective.com/hoodie/sponsor/1/website)\n[![](https://opencollective.com/hoodie/sponsor/2/avatar)](https://opencollective.com/hoodie/sponsor/2/website)\n[![](https://opencollective.com/hoodie/sponsor/3/avatar)](https://opencollective.com/hoodie/sponsor/3/website)\n[![](https://opencollective.com/hoodie/sponsor/4/avatar)](https://opencollective.com/hoodie/sponsor/4/website)\n[![](https://opencollective.com/hoodie/sponsor/5/avatar)](https://opencollective.com/hoodie/sponsor/5/website)\n[![](https://opencollective.com/hoodie/sponsor/6/avatar)](https://opencollective.com/hoodie/sponsor/6/website)\n[![](https://opencollective.com/hoodie/sponsor/7/avatar)](https://opencollective.com/hoodie/sponsor/7/website)\n[![](https://opencollective.com/hoodie/sponsor/8/avatar)](https://opencollective.com/hoodie/sponsor/8/website)\n[![](https://opencollective.com/hoodie/sponsor/9/avatar)](https://opencollective.com/hoodie/sponsor/9/website)\n[![](https://opencollective.com/hoodie/sponsor/10/avatar)](https://opencollective.com/hoodie/sponsor/10/website)\n[![](https://opencollective.com/hoodie/sponsor/11/avatar)](https://opencollective.com/hoodie/sponsor/11/website)\n[![](https://opencollective.com/hoodie/sponsor/12/avatar)](https://opencollective.com/hoodie/sponsor/12/website)\n[![](https://opencollective.com/hoodie/sponsor/13/avatar)](https://opencollective.com/hoodie/sponsor/13/website)\n[![](https://opencollective.com/hoodie/sponsor/14/avatar)](https://opencollective.com/hoodie/sponsor/14/website)\n[![](https://opencollective.com/hoodie/sponsor/15/avatar)](https://opencollective.com/hoodie/sponsor/15/website)\n[![](https://opencollective.com/hoodie/sponsor/16/avatar)](https://opencollective.com/hoodie/sponsor/16/website)\n[![](https://opencollective.com/hoodie/sponsor/17/avatar)](https://opencollective.com/hoodie/sponsor/17/website)\n[![](https://opencollective.com/hoodie/sponsor/18/avatar)](https://opencollective.com/hoodie/sponsor/18/website)\n[![](https://opencollective.com/hoodie/sponsor/19/avatar)](https://opencollective.com/hoodie/sponsor/19/website)\n\n## License\n\n[Apache 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoodiehq%2Fhoodie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoodiehq%2Fhoodie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoodiehq%2Fhoodie/lists"}