automated-garden
render
automated-garden | render | |
---|---|---|
2 | 3 | |
20 | 275 | |
- | 3.3% | |
9.2 | 2.0 | |
16 days ago | 3 months ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
automated-garden
-
Let's Talk About REST...
I created babyapi with the goal of providing the simplest path to a full REST API. It started as a humble package that used generics to reduce code duplication in my automated-garden API. After breaking it out into its own repository, I added the optional HATEOAS extension which sets up automatic hypermedia linking. Now you can easily create a REST API which achieves all levels in the Richardson maturity model using babyapi.
-
How I Learned Generics in Go
When thinking about duplicated code in my automated-garden project, the first thing that comes to mind is all of my API handlers. The server side of this application implements a few straightforward CRUD APIs following RESTful principles. Each resource type implements handlers for the different HTTP verbs and mostly interacts with the storage layer. I created a very simple setup for the API handlers following this formula:
render
-
How I Learned Generics in Go
GET endpoints just use go-chi/render to create the HTTP response
-
Request Validations in Go REST API
Rather simple but works well for us, https://github.com/go-chi/render Binder interface.
-
Gin vs Echo framework
I usually reach for chi, and most of the other boilerplate is covered by render.
What are some alternatives?
ha-mqtt-iot - A simple configurable MQTT client that allows actions to be taken or values be reported from a PC
render - Go package for easily rendering JSON, XML, binary data, and HTML templates responses.
gobot - Golang framework for robotics, drones, and the Internet of Things (IoT)
ozzo-validation - An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags.
axis-aws-rekognition - This project is a POC of using AWS Rekognition service over persistent and secure MQTT using client certificate with axis cameras (Requires firmware version 10+). Secure MQTT is used instead of HTTPS to get less overhead with connection setup
jio - jio is a json schema validator similar to joi
hord - Manage data in Go with a simple key-value interface supporting various databases.
validator - :100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
mux - A powerful HTTP router and URL matcher for building Go web servers with 🦍
chi - lightweight, idiomatic and composable router for building Go HTTP services
valgo - Valgo is a type-safe, expressive, and extensible validator library for Golang. Supports localization and is built with generics.