Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
todo-api-microservice-example
Go microservice tutorial project using Domain Driven Design and Onion Architecture!
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
exposure-notifications-server
Discontinued Exposure Notification Reference Server | Covid-19 Exposure Notifications
Database Access (no ORMs): sqlc for static queries and squirrel for dynamic queries (queries that are constructed depending on conditionals.
Database Access (no ORMs): sqlc for static queries and squirrel for dynamic queries (queries that are constructed depending on conditionals.
Using the correct driver to connect to the database + https://github.com/jmoiron/sqlx. You will always receive a JSON array on the output with which it is very convenient to work.
HTTP Router: there a bunch of these, I prefer gorilla/mux but some other people prefer web frameworks like gin-gonic/gin
Migrations: migrate
HTTP Router: there a bunch of these, I prefer gorilla/mux but some other people prefer web frameworks like gin-gonic/gin
One word of advise I can give you is that building a production-grade microservice in Go takes a bit; not because of the language but because you have consider the tradeoffs when choosing different packages to connect everything to make it work (because there's no Django, Ruby on Rails or Spring), I have an educational repository (still work in progress) trying to describe what I've learned from the last 5 years after successfully deploying multiple services to production where multiple engineers contribute and collaborate together; perhaps that could help you.
https://github.com/pressly/goose. This migration tool is close to alembic.
No worries, I was just saying isolate any database related operations specific to a package. https://github.com/google/exposure-notifications-server this is a pretty great example of a real world sql /go.
https://github.com/volatiletech/sqlboiler cause is nice to have type safety, or sqlc, I use sqlx most of the time