Sources:
- https://github.com/labstack/echo
- https://github.com/gin-gonic/gin (Sinatra-like)
- https://github.com/astaxie/beego (Rails-like)
- https://github.com/gorilla/mux
- https://github.com/julienschmidt/httprouter
- https://github.com/bmizerany/pat
- Docs: https://www.nicolasmerouze.com/guide-routers-golang/
- Docs: https://husobee.github.io/golang/url-router/2015/06/15/why-do-all-golang-url-routers-suck.html
- https://github.com/jinzhu/gorm (relationships with
Related
keyword, callbacks, auto-migrations) - https://github.com/go-gorp/gorp (relationships but requires join by hand, callbacks, auto-migrations)
- https://github.com/go-xorm/xorm (relationships but requires join by hand, migrations, map[string]string, callbacks)
- https://github.com/astaxie/beego/tree/master/orm
- https://github.com/gobuffalo/pop (complete toolkit, with yaml configuration, true migrations, etc)
- https://github.com/coocood/qbs (very fast, automatic joins)
- http://upper.io/ (no joins)
- Blogpost about it: http://jmoiron.net/blog/golang-orms/
- Reddit: https://www.reddit.com/r/golang/comments/3ajqa6/golang_which_orm_is_better/
- https://github.com/jmoiron/sqlx (query builder)
- https://github.com/gocraft/dbr (query builder)
- https://github.com/Masterminds/squirrel (query builder)
- https://github.com/elgris/sqrl (query builder)
- https://github.com/mattes/migrate
- https://bitbucket.org/liamstask/goose
- https://github.com/markbates/pop/tree/master/fizz
- https://stackoverflow.com/a/45990039 (same process - with goroutines)
- https://github.com/gocraft/work
- https://github.com/RichardKnop/machinery
- https://github.com/benmanns/goworker (resque compatible)
- https://github.com/jrallison/go-workers (Sidekiq compatible)
- https://gist.github.com/harlow/dbcd639cf8d396a2ab73 (how to)
- https://github.com/serdmanczyk/Bifrost
https://github.com/iamduo/workq(alpha)https://github.com/ajvb/kala(not production-ready)- https://golanglibs.com/category/job-queue?sort=top (list of libraries)
- https://github.com/ivpusic/grpool
- https://github.com/Jeffail/tunny
- https://github.com/go-playground/pool
- https://github.com/nasa9084/oauth-example/blob/master/provider/main.go (single file example)
- https://github.com/RangelReale/osin
- https://github.com/go-oauth2/oauth2
- https://github.com/RichardKnop/go-oauth2-server
- https://github.com/ory/fosite
- https://github.com/coreos/dex (authentication service)
- https://github.com/earaujoassis/space (authentication service)
- https://github.com/hkolasani/goauth (simpler)
- https://github.com/jmcvetta/o2pro (deprecated)
- https://github.com/shferreira/minimal_go_website/blob/echo-oauth2/app.go (using the standard library)
- https://github.com/dghubble/gologin (Light)
- https://github.com/markbates/goth (Lots of providers)
- https://github.com/volatiletech/authboss/tree/master/oauth2 (too heavy apparently)
- https://github.com/Medium/medium-sdk-go
- https://github.com/huandu/facebook
- https://github.com/go-macaron/oauth2 (middleare)
- https://github.com/gobwas/ws/
- https://github.com/gorilla/websocket
- Examples:
- https://echo.labstack.com/cookbook/websocket#using-net-websocket (example)
- https://github.com/golang-samples/websocket/blob/master/websocket-chat/src/chat/server.go (example)
- https://github.com/knowthen/rtsupportserver (example)
- https://github.com/scotch-io/go-realtime-chat (example)
- https://github.com/SimonWaldherr/GoRealtimeWeb (example)
- https://jacobmartins.com/2016/03/07/practical-golang-using-websockets/ (article)
- https://github.com/centrifugal/centrifugo (standalone)
- http://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-presigned-urls.html
- https://blog.golang.org/go-image-package (resizing)
- https://github.com/fawick/speedtest-resize/commit/27b41a8d2cd4de868fbf522c20921762c0e478c1 (resize example)
- https://github.com/go-playground/form (FormEncoding to Struct)
- https://github.com/monoculum/formam (slower)
- https://github.com/go-playground/validator (with echo: https://echo.labstack.com/guide/request#validate-data)
- https://github.com/asaskevich/govalidator
- https://github.com/monoculum/valider
- https://github.com/jasonlvhit/gocron
- https://github.com/welcome-to-shire/gron
- https://github.com/robfig/cron
https://github.com/ajvb/kala(not production-ready)
- https://github.com/blevesearch/bleve
- https://github.com/go-ego/riot
- https://github.com/huichen/wukong
- https://github.com/nilslice/email/blob/master/email.go (Sender)
- https://github.com/flashmob/go-guerrilla/blob/master/server.go (Receiver)
- https://github.com/sendgrid/sendgrid-go
- https://github.com/mailgun/mailgun-go
- https://github.com/keighl/mandrill/blob/master/mandrill.go
- https://github.com/mailjet/mailjet-apiv3-go
- https://github.com/getsentry/raven-go
- https://github.com/bugsnag/bugsnag-go
- https://github.com/yvasiyarov/newrelic_platform_go
- https://github.com/sideshow/apns2
- https://github.com/blackbeans/apns
- https://github.com/edganiukov/apns (uses stdlib for keepalive)
- https://github.com/golang-commonmark/markdown
- https://github.com/russross/blackfriday
- https://github.com/madari/goskirt
- https://github.com/madari/goskirt
- http://mates.vs.uni-due.de
- https://github.com/buu700/upskirt.go
- https://github.com/esimov/caire (Content-aware resizing)
- https://github.com/nfnt/resize
- https://github.com/anthonynsimon/bild
- https://github.com/h2non/bimg
- https://github.com/Knetic/govaluate
- https://github.com/elgs/jsonql/blob/master/exparser.go
- https://github.com/mattn/anko (complete language)
- https://github.com/markbates/buffla (url shortener)
- https://github.com/appleboy/gorush (app notifications service)
- https://github.com/rocajuan/go-img-upload/ (very simple image uploader/resizer service)
- https://github.com/willnorris/imageproxy (complex image uploader/resizer service)