{"id":21634923,"url":"https://github.com/ealenn/opengarden","last_synced_at":"2026-05-10T05:10:09.017Z","repository":{"id":36998980,"uuid":"499784071","full_name":"Ealenn/OpenGarden","owner":"Ealenn","description":"Garden assistant, for your seedlings and vegetables. Compatible with Home Assistant \u0026 Google Home.","archived":false,"fork":false,"pushed_at":"2023-02-14T00:33:20.000Z","size":2548,"stargazers_count":3,"open_issues_count":16,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T22:42:13.942Z","etag":null,"topics":["assistant","garden","green","openapi","vegetables"],"latest_commit_sha":null,"homepage":"https://opengarden.herokuapp.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ealenn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-06-04T09:44:20.000Z","updated_at":"2022-09-01T20:33:11.000Z","dependencies_parsed_at":"2023-09-28T07:47:44.497Z","dependency_job_id":null,"html_url":"https://github.com/Ealenn/OpenGarden","commit_stats":{"total_commits":47,"total_committers":2,"mean_commits":23.5,"dds":0.04255319148936165,"last_synced_commit":"425a1f0b73424bab66eaf5de607b1839154e83c9"},"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/Ealenn/OpenGarden","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ealenn%2FOpenGarden","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ealenn%2FOpenGarden/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ealenn%2FOpenGarden/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ealenn%2FOpenGarden/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ealenn","download_url":"https://codeload.github.com/Ealenn/OpenGarden/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ealenn%2FOpenGarden/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262438717,"owners_count":23311201,"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":["assistant","garden","green","openapi","vegetables"],"created_at":"2024-11-25T03:18:37.757Z","updated_at":"2026-05-10T05:10:08.954Z","avatar_url":"https://github.com/Ealenn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open Garden \n\n[![Codecov](https://img.shields.io/codecov/c/github/ealenn/OpenGarden?style=for-the-badge\u0026logo=codecov)](https://codecov.io/gh/Ealenn/OpenGarden)\n[![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/ealenn/OpenGarden?style=for-the-badge)](https://www.codefactor.io/repository/github/ealenn/OpenGarden)\n[![GitHub stars](https://img.shields.io/github/stars/Ealenn/OpenGarden?style=for-the-badge\u0026logo=github)](https://github.com/Ealenn/OpenGarden/stargazers)\n[![GitHub issues](https://img.shields.io/github/issues/Ealenn/OpenGarden?style=for-the-badge\u0026logo=github)](https://github.com/Ealenn/OpenGarden/issues)\n\n## Description\n\nThis API/Projects provides lots of information about plantations, their needs, and sowing advice.\n\n[![Roadmap](https://img.shields.io/badge/view-roadmap-blue?logo=trello\u0026style=for-the-badge)](https://github.com/users/Ealenn/projects/3)\n[![Swagger](https://img.shields.io/badge/view-swagger_ui-green?logo=swagger\u0026style=for-the-badge)](https://opengarden.herokuapp.com/)\n[![Admin](https://img.shields.io/badge/view-admin-blue?logo=pwa\u0026style=for-the-badge)](https://opengarden-admin.herokuapp.com/)\n[![Home Assistant](https://img.shields.io/badge/hass.io-not_available-lightgrey?logo=homeassistant\u0026style=for-the-badge)]()\n[![App](https://img.shields.io/badge/Application-not_available-lightgrey?logo=pwa\u0026style=for-the-badge)]()\n\n- [Open Garden](#open-garden)\n  - [Description](#description)\n  - [Projects](#projects)\n  - [Integration](#integration)\n    - [Rate Limiting](#rate-limiting)\n    - [Content-Range](#content-range)\n    - [JWT Ticket](#jwt-ticket)\n    - [Bad Request Handling](#bad-request-handling)\n  - [Roadmap](#roadmap)\n    - [Release notes](#release-notes)\n  - [Versioning](#versioning)\n  - [Contributing](#contributing)\n\n## Projects\n\n| Project | Description | |\n| ----------- | ----------- | ----------- |\n| Core | Contains server, including REST API, Socket Server... | [![core](https://img.shields.io/badge/view-project-blue?logo=github\u0026style=for-the-badge)](https://github.com/Ealenn/OpenGarden/tree/master/core) |\n| Admin | Backend automatically generated using swagger definition | [![core](https://img.shields.io/badge/view-project-blue?logo=github\u0026style=for-the-badge)](https://github.com/Ealenn/OpenGarden/tree/master/admin) | |\n| Hass | Home Assistant add-on | In progress... | |\n| App | Web Application | In progress... | |\n\n## Integration\n\n### Rate Limiting\n\nThis project is protected by throttling.\n\nYou can compute your remaining requests via the responses headers.\n\n| Header                   | Description                              | Example            |\n|--------------------------|------------------------------------------|--------------------|\n|`x-ratelimit-limit`       | the maximum number of requests           |`20`|\n|`x-ratelimit-remaining`   | remaining requests                       |`18`|\n|`x-ratelimit-reset`       | time to reset the counter                |`30`|\n\n### Content-Range\n\n| Header                   | Description                              | Example            |\n|--------------------------|------------------------------------------|--------------------|\n|`Content-Range` | The Content-Range response HTTP header indicates where in a full body message a partial message belongs. like `elements {range-start}-{range-end}/{size}` |`elements 0-10/1`|\n\n### JWT Ticket\n\nThe HTTP `Authorization` request header is required to authenticate a user on many endpoints.\n\nThis header must be provided like : \n\n```sh\ncurl -X 'GET' ...\n  -H 'Authorization: Bearer {TOKEN}'\n```\n\nTo obtain this `{TOKEN}` you must call the endpoint `/account/login` (cf [SwaggerUI](https://opengarden.herokuapp.com)).\n\n### Bad Request Handling\n\n```json\n{\n  \"statusCode\": 400,\n  \"message\": [\n    {\n      \"value\": \"0\",\n      \"property\": \"example\",\n      \"constraints\": {\n        \"matches\": \"example must match ^/[a-z0-9_-]/$ regular expression\",\n        \"isLength\": \"example must be longer than or equal to 3 characters\",\n        \"isString\": \"example must be a string\"\n      }\n    }\n  ],\n  \"error\": \"Bad Request\"\n}\n```\n\n## Roadmap\n\nView the [OpenGarden Public Roadmap](https://github.com/users/Ealenn/projects/3)\n\n### Release notes\n\nFor the versions available, see the [tags on this repository](https://github.com/Ealenn/OpenGarden/releases).\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning.\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fealenn%2Fopengarden","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fealenn%2Fopengarden","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fealenn%2Fopengarden/lists"}