From 56c8603e22f1f88fcc821104f86c584ed25b7c7d Mon Sep 17 00:00:00 2001 From: Mukesh Murugan <31455818+iammukeshm@users.noreply.github.com> Date: Sat, 2 Apr 2022 09:40:18 +0530 Subject: [PATCH 01/13] add Golang CRUD tutorial (#4113) * added Golang CRUD tutorial * Fixed Alphabetical Ordering --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63e919ce..e034a0d2 100644 --- a/README.md +++ b/README.md @@ -3295,6 +3295,7 @@ _Where to discover new Go libraries._ - [How to Benchmark: dbq vs sqlx vs GORM](https://medium.com/@rocketlaunchr.cloud/how-to-benchmark-dbq-vs-sqlx-vs-gorm-e814caacecb5) - Learn how to benchmark in Go. As a case-study, we will benchmark dbq, sqlx and GORM. - [How To Deploy a Go Web Application with Docker](https://semaphoreci.com/community/tutorials/how-to-deploy-a-go-web-application-with-docker) - Learn how to use Docker for Go development and how to build production Docker images. - [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. +- [Implementing CRUD in Golang REST API with Mux & GORM](https://codewithmukesh.com/blog/implementing-crud-in-golang-rest-api/) - Building a CRUD Golang REST API from scratch using MUX, GORM, MySQL, Viper and clean folder seperation. Entire source code is also included! - [Learn Go with 1000+ Exercises](https://github.com/inancgumus/learngo) - Learn Go with thousands of examples, exercises, and quizzes. - [Learn Go with TDD](https://github.com/quii/learn-go-with-tests) - Learn Go with test-driven development. - [Learning Go by examples](https://dev.to/aurelievache/learning-go-by-examples-introduction-448n) - Serie of article in order to learn Golang language by concrete applications as example. From efc71529b80eb623cc5740b82cb0cbd08cb67881 Mon Sep 17 00:00:00 2001 From: _raflimr <73429192+raflimr@users.noreply.github.com> Date: Sat, 19 Feb 2022 08:45:48 +0700 Subject: [PATCH 02/13] feat: add SQLC library to readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e034a0d2..5a4341ba 100644 --- a/README.md +++ b/README.md @@ -691,6 +691,7 @@ _SQL query builder, libraries for building and using SQL._ - [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. - [Squalus](https://gitlab.com/qosenergy/squalus) - Thin layer over the Go SQL package that makes it easier to perform queries. - [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. +- [Sqlc](https://github.com/kyleconroy/sqlc) - Generate type-safe code from SQL - [xo](https://github.com/knq/xo) - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. **[⬆ back to top](#contents)** From b69106c7668fddc133836ef59fbf160d2a54a075 Mon Sep 17 00:00:00 2001 From: _raflimr <73429192+raflimr@users.noreply.github.com> Date: Sat, 19 Feb 2022 08:53:53 +0700 Subject: [PATCH 03/13] docs: add colon to sqlc in "SQL Query Builder" section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a4341ba..7d724b44 100644 --- a/README.md +++ b/README.md @@ -691,7 +691,7 @@ _SQL query builder, libraries for building and using SQL._ - [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. - [Squalus](https://gitlab.com/qosenergy/squalus) - Thin layer over the Go SQL package that makes it easier to perform queries. - [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. -- [Sqlc](https://github.com/kyleconroy/sqlc) - Generate type-safe code from SQL +- [Sqlc](https://github.com/kyleconroy/sqlc) - Generate type-safe code from SQL. - [xo](https://github.com/knq/xo) - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. **[⬆ back to top](#contents)** From 3a6d46c1d43fbf876e0b4d191632b41e98f6cd02 Mon Sep 17 00:00:00 2001 From: _raflimr <73429192+raflimr@users.noreply.github.com> Date: Sat, 19 Feb 2022 17:46:34 +0700 Subject: [PATCH 04/13] fix: sqlc position into alphabetical order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d724b44..8d104032 100644 --- a/README.md +++ b/README.md @@ -686,12 +686,12 @@ _SQL query builder, libraries for building and using SQL._ - [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities. - [qry](https://github.com/HnH/qry) - Tool that generates constants from files with raw SQL queries. - [sq](https://github.com/bokwoon95/go-structured-query) - Type-safe SQL builder and struct mapper for Go. +- [Sqlc](https://github.com/kyleconroy/sqlc) - Generate type-safe code from SQL. - [sqlf](https://github.com/leporo/sqlf) - Fast SQL query builder. - [sqlingo](https://github.com/lqs/sqlingo) - A lightweight DSL to build SQL in Go. - [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. - [Squalus](https://gitlab.com/qosenergy/squalus) - Thin layer over the Go SQL package that makes it easier to perform queries. - [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. -- [Sqlc](https://github.com/kyleconroy/sqlc) - Generate type-safe code from SQL. - [xo](https://github.com/knq/xo) - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. **[⬆ back to top](#contents)** From 4def4e3a4b1d06b9d684c7b46811af54e7c0b883 Mon Sep 17 00:00:00 2001 From: _raflimr <73429192+raflimr@users.noreply.github.com> Date: Tue, 22 Mar 2022 21:44:15 +0700 Subject: [PATCH 05/13] feat: edit sqlc to lowercase --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8d104032..433cc01c 100644 --- a/README.md +++ b/README.md @@ -686,7 +686,7 @@ _SQL query builder, libraries for building and using SQL._ - [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities. - [qry](https://github.com/HnH/qry) - Tool that generates constants from files with raw SQL queries. - [sq](https://github.com/bokwoon95/go-structured-query) - Type-safe SQL builder and struct mapper for Go. -- [Sqlc](https://github.com/kyleconroy/sqlc) - Generate type-safe code from SQL. +- [sqlc](https://github.com/kyleconroy/sqlc) - Generate type-safe code from SQL. - [sqlf](https://github.com/leporo/sqlf) - Fast SQL query builder. - [sqlingo](https://github.com/lqs/sqlingo) - A lightweight DSL to build SQL in Go. - [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. From 8424dfb4a473665d2bab04d18fd0197775169e76 Mon Sep 17 00:00:00 2001 From: spekary Date: Wed, 16 Mar 2022 19:50:41 -0700 Subject: [PATCH 06/13] Adding html5tag --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 433cc01c..070bb87e 100644 --- a/README.md +++ b/README.md @@ -1155,6 +1155,7 @@ _Toolkits_ - [go-astilectron](https://github.com/asticode/go-astilectron) - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron). - [go-gtk](https://mattn.github.io/go-gtk/) - Go bindings for GTK. - [go-sciter](https://github.com/sciter-sdk/go-sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform. +- [goradd/html5tag](https://github.com/goradd/html5tag) - Library for outputting HTML5 tags. - [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. - [gowd](https://github.com/dtylman/gowd) - Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform. - [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi). From b4abe76b2fcbf77d79af72328549800b631a7558 Mon Sep 17 00:00:00 2001 From: Bar Weiss <33583364+barweiss@users.noreply.github.com> Date: Tue, 22 Mar 2022 15:19:47 +0200 Subject: [PATCH 07/13] Add go-tuple to Data Structure packages --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 070bb87e..27e2e75e 100644 --- a/README.md +++ b/README.md @@ -527,6 +527,7 @@ _Generic datastructures and algorithms in Go._ - [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. - [go-mcache](https://github.com/OrlovEvgeny/go-mcache) - Fast in-memory key:value store/cache library. Pointer caches. - [go-rquad](https://github.com/aurelien-rainone/go-rquad) - Region quadtrees with efficient point location and neighbour finding. +- [go-tuple](https://github.com/barweiss/go-tuple) - Generic tuple implementation for Go 1.18+. - [gocache](https://github.com/eko/gocache) - A complete Go cache library with mutiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more. - [goconcurrentqueue](https://github.com/enriquebris/goconcurrentqueue) - Concurrent FIFO queue. - [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. From e135e0c58a7a3db0bf254a0d4439c800eafb210d Mon Sep 17 00:00:00 2001 From: Jorge Osorio Date: Thu, 24 Mar 2022 21:10:41 +0100 Subject: [PATCH 08/13] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27e2e75e..caf6cb51 100644 --- a/README.md +++ b/README.md @@ -1081,6 +1081,7 @@ _Geographic tools and servers_ - [simplefeatures](https://github.com/peterstace/simplefeatures) - simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them. - [Tile38](https://github.com/tidwall/tile38) - Geolocation DB with spatial index and realtime geofencing. - [WGS84](https://github.com/wroge/wgs84) - Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM). +- [Web-Mercator-Projection](https://github.com/jorelosorio/web-mercator-projection) A project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection. **[⬆ back to top](#contents)** From e51ac129acadfe2216d0ac60456e75d741ec2eca Mon Sep 17 00:00:00 2001 From: Jorge Osorio Date: Thu, 24 Mar 2022 21:17:47 +0100 Subject: [PATCH 09/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index caf6cb51..88137d51 100644 --- a/README.md +++ b/README.md @@ -1080,8 +1080,8 @@ _Geographic tools and servers_ - [S2 geometry](https://github.com/golang/geo) - S2 geometry library in Go. - [simplefeatures](https://github.com/peterstace/simplefeatures) - simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them. - [Tile38](https://github.com/tidwall/tile38) - Geolocation DB with spatial index and realtime geofencing. -- [WGS84](https://github.com/wroge/wgs84) - Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM). - [Web-Mercator-Projection](https://github.com/jorelosorio/web-mercator-projection) A project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection. +- [WGS84](https://github.com/wroge/wgs84) - Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM). **[⬆ back to top](#contents)** From e4a306885359d98a2c46c3b7a5e9abef650e15fa Mon Sep 17 00:00:00 2001 From: Vasiliy Vasilyuk Date: Tue, 29 Mar 2022 20:48:57 +0300 Subject: [PATCH 10/13] Add package pointer to utilities section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 88137d51..34a1169c 100644 --- a/README.md +++ b/README.md @@ -2497,6 +2497,7 @@ _General utilities and tools to make your life easier._ - [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool. - [pgo](https://github.com/arthurkushman/pgo) - Convenient functions for PHP community. - [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. +- [pointer](https://github.com/xorcare/pointer) - Package pointer contains helper routines for simplifying the creation of optional fields of basic type. - [ptr](https://github.com/gotidy/ptr) - Package that provide functions for simplified creation of pointers from constants of basic types. - [rclient](https://github.com/zpatrick/rclient) - Readable, flexible, simple-to-use client for REST APIs. - [repeat](https://github.com/ssgreg/repeat) - Go implementation of different backoff strategies useful for retrying operations and heartbeating. From 1fa11ddddde4729c226fafa885dcb831d53d0402 Mon Sep 17 00:00:00 2001 From: David Muir Sharnoff Date: Tue, 29 Mar 2022 21:30:51 -0700 Subject: [PATCH 11/13] add nchi http router --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 34a1169c..2aa72896 100644 --- a/README.md +++ b/README.md @@ -1520,7 +1520,7 @@ _Libraries for working with dependency injection._ - [HnH/di](https://github.com/HnH/di) - DI container library that is focused on clean API and flexibility. - [kinit](https://github.com/go-kata/kinit) - Customizable dependency injection container with the global mode, cascade initialization and panic-safe finalization. - [linker](https://github.com/logrange/linker) - A reflection based dependency injection and inversion of control library with components lifecycle support. -- [nject](https://github.com/muir/nject) - A type safe, reflective framework for libraries, tests, and http endpoints, and service startup. +- [nject](https://github.com/muir/nject) - A type safe, reflective framework for libraries, tests, http endpoints, and service startup. - [wire](https://github.com/Fs02/wire) - Strict Runtime Dependency Injection for Golang. **[⬆ back to top](#contents)** @@ -2723,6 +2723,7 @@ _Full stack web frameworks._ - [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. - [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. - [mux](https://github.com/gorilla/mux) - Powerful URL router and dispatcher for golang. +- [nchi](https://github.com/muir/nchi) - chi-like router built on httprouter with dependency injection based middleware wrappers - [ngamux](https://github.com/ngamux/ngamux) - Simple HTTP router for Go. - [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. - [pure](https://github.com/go-playground/pure) - Is a lightweight HTTP router that sticks to the std "net/http" implementation. From ac2095aabf2e8ae3bc2f4b0a1310b57071ba8905 Mon Sep 17 00:00:00 2001 From: David Muir Sharnoff Date: Wed, 30 Mar 2022 19:38:52 -0700 Subject: [PATCH 12/13] add reflectutils --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2aa72896..ba2249f9 100644 --- a/README.md +++ b/README.md @@ -2500,6 +2500,7 @@ _General utilities and tools to make your life easier._ - [pointer](https://github.com/xorcare/pointer) - Package pointer contains helper routines for simplifying the creation of optional fields of basic type. - [ptr](https://github.com/gotidy/ptr) - Package that provide functions for simplified creation of pointers from constants of basic types. - [rclient](https://github.com/zpatrick/rclient) - Readable, flexible, simple-to-use client for REST APIs. +- [reflectutils](https://github.com/muir/reflectutils) - Helpers for working with reflection: struct tag parsing; recursive walking; fill value from string. - [repeat](https://github.com/ssgreg/repeat) - Go implementation of different backoff strategies useful for retrying operations and heartbeating. - [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. - [rerate](https://github.com/abo/rerate) - Redis-based rate counter and rate limiter for Go. From 20a6884eaf53710afc43fcdf1e25a533eaeac539 Mon Sep 17 00:00:00 2001 From: Avelino Date: Sat, 2 Apr 2022 06:46:17 -0300 Subject: [PATCH 13/13] Update COVERAGE.md --- COVERAGE.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/COVERAGE.md b/COVERAGE.md index 4bd6e7fc..62f4931f 100644 --- a/COVERAGE.md +++ b/COVERAGE.md @@ -7,9 +7,9 @@ generate a code coverage report without one of those services. This yaml file will run tests on multiple system configurations, but will produce a code coverage report on only one of those. It will then create a code coverage badge -and add it to the Readme file. +and add it to the README file. -This file should be put in the .github/workflows directory of your repo. +This file should be put in the `.github/workflows` directory of your repo. ```yaml name: Go # The name of the workflow that will appear on Github @@ -68,4 +68,4 @@ jobs: github_token: ${{ github.token }} branch: ${{ github.ref }} -``` \ No newline at end of file +```