https://github.com/ealenn/opengarden
Garden assistant, for your seedlings and vegetables. Compatible with Home Assistant & Google Home.
https://github.com/ealenn/opengarden
assistant garden green openapi vegetables
Last synced: 8 months ago
JSON representation
Garden assistant, for your seedlings and vegetables. Compatible with Home Assistant & Google Home.
- Host: GitHub
- URL: https://github.com/ealenn/opengarden
- Owner: Ealenn
- License: gpl-3.0
- Created: 2022-06-04T09:44:20.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-02-14T00:33:20.000Z (about 3 years ago)
- Last Synced: 2025-03-18T22:42:13.942Z (about 1 year ago)
- Topics: assistant, garden, green, openapi, vegetables
- Language: TypeScript
- Homepage: https://opengarden.herokuapp.com/
- Size: 2.43 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Open Garden
[](https://codecov.io/gh/Ealenn/OpenGarden)
[](https://www.codefactor.io/repository/github/ealenn/OpenGarden)
[](https://github.com/Ealenn/OpenGarden/stargazers)
[](https://github.com/Ealenn/OpenGarden/issues)
## Description
This API/Projects provides lots of information about plantations, their needs, and sowing advice.
[](https://github.com/users/Ealenn/projects/3)
[](https://opengarden.herokuapp.com/)
[](https://opengarden-admin.herokuapp.com/)
[]()
[]()
- [Open Garden](#open-garden)
- [Description](#description)
- [Projects](#projects)
- [Integration](#integration)
- [Rate Limiting](#rate-limiting)
- [Content-Range](#content-range)
- [JWT Ticket](#jwt-ticket)
- [Bad Request Handling](#bad-request-handling)
- [Roadmap](#roadmap)
- [Release notes](#release-notes)
- [Versioning](#versioning)
- [Contributing](#contributing)
## Projects
| Project | Description | |
| ----------- | ----------- | ----------- |
| Core | Contains server, including REST API, Socket Server... | [](https://github.com/Ealenn/OpenGarden/tree/master/core) |
| Admin | Backend automatically generated using swagger definition | [](https://github.com/Ealenn/OpenGarden/tree/master/admin) | |
| Hass | Home Assistant add-on | In progress... | |
| App | Web Application | In progress... | |
## Integration
### Rate Limiting
This project is protected by throttling.
You can compute your remaining requests via the responses headers.
| Header | Description | Example |
|--------------------------|------------------------------------------|--------------------|
|`x-ratelimit-limit` | the maximum number of requests |`20`|
|`x-ratelimit-remaining` | remaining requests |`18`|
|`x-ratelimit-reset` | time to reset the counter |`30`|
### Content-Range
| Header | Description | Example |
|--------------------------|------------------------------------------|--------------------|
|`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`|
### JWT Ticket
The HTTP `Authorization` request header is required to authenticate a user on many endpoints.
This header must be provided like :
```sh
curl -X 'GET' ...
-H 'Authorization: Bearer {TOKEN}'
```
To obtain this `{TOKEN}` you must call the endpoint `/account/login` (cf [SwaggerUI](https://opengarden.herokuapp.com)).
### Bad Request Handling
```json
{
"statusCode": 400,
"message": [
{
"value": "0",
"property": "example",
"constraints": {
"matches": "example must match ^/[a-z0-9_-]/$ regular expression",
"isLength": "example must be longer than or equal to 3 characters",
"isString": "example must be a string"
}
}
],
"error": "Bad Request"
}
```
## Roadmap
View the [OpenGarden Public Roadmap](https://github.com/users/Ealenn/projects/3)
### Release notes
For the versions available, see the [tags on this repository](https://github.com/Ealenn/OpenGarden/releases).
## Versioning
We use [SemVer](http://semver.org/) for versioning.
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.