Skip to content
/ toolkit Public

A small, opinionated, modular toolkit for writing http services in Go

License

Notifications You must be signed in to change notification settings

belak/toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

toolkit

A small, opinionated, modular toolkit for writing http services in Go

Go 1.16 or above is required because of the usage of embed.FS.

Packages

Each package is named so it doesn't conflict with the stdlib packages with similar features. It should be possible to use only these packages to build services as they wrap libraries to expose a more ergonomic interface.

  • db - Mostly a wrapper around jmoiron/sqlx and golang-migrate. It only exposes interfaces which take a context.Context to ensure people are thinking about timeouts.
  • web - A wrapper around a number of packages to provide a convenient one-stop-shop for interfacing with http services. It wraps net/http, encoding/json, and formam. You must choose a router to use. go-chi/chi is the author's current recommended choice.

Package ideas:

  • Logging - I don't know what this would be called or what it would look like yet, so it's on the backburner for now.

Feature ideas:

  • db
    • Migrations. Either using golang-migrate, or a custom solution.
  • web
    • Routing. Provide a useful router which works well with the included handlers.

About

A small, opinionated, modular toolkit for writing http services in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages