{"id":23256880,"url":"https://github.com/dmdv/modern-go-bootstrap","last_synced_at":"2025-07-22T11:39:13.803Z","repository":{"id":141044323,"uuid":"347962445","full_name":"Dmdv/modern-go-bootstrap","owner":"Dmdv","description":"This is a stripped version of modern-go-application. I removed the sample application to keep it clean for further development","archived":false,"fork":false,"pushed_at":"2021-03-25T23:24:23.000Z","size":167,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T04:28:10.076Z","etag":null,"topics":["boilerplate","go-web","go-web-application","go-web-framework","practices"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dmdv.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-15T12:34:35.000Z","updated_at":"2023-07-26T22:32:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"b0613dbb-7852-4386-ac76-a8b1aa2783d8","html_url":"https://github.com/Dmdv/modern-go-bootstrap","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/Dmdv/modern-go-bootstrap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dmdv%2Fmodern-go-bootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dmdv%2Fmodern-go-bootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dmdv%2Fmodern-go-bootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dmdv%2Fmodern-go-bootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dmdv","download_url":"https://codeload.github.com/Dmdv/modern-go-bootstrap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dmdv%2Fmodern-go-bootstrap/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266486322,"owners_count":23936937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","go-web","go-web-application","go-web-framework","practices"],"created_at":"2024-12-19T12:19:57.947Z","updated_at":"2025-07-22T11:39:13.794Z","avatar_url":"https://github.com/Dmdv.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Modern Go Bootstrap\n\nThis is a stripped version of   \nhttps://github.com/Dmdv/modern-go-application  \nI removed the sample application to keep it clean for further development  \n\nI will be enriching this project with less overengineering practices compared to the original template.\n\n\n\n**Go application boilerplate and example applying modern practices**\n\nThis repository tries to collect the best practices of application development using Go language.\nIn addition to the language specific details, it also implements various language independent practices.\n\nSome areas Modern Go Boostrap touches:\n\n- architecture\n- package structure\n- building the application\n- testing\n- configuration\n- running the application (e.g. in Docker)\n- developer environment/experience\n- telemetry\n\nTo help adopt these practices, this repository also serves as a boilerplate for new applications.\n\n\n## Features\n\n- configuration (using [spf13/viper](https://github.com/spf13/viper))\n- logging (using [logur.dev/logur](https://logur.dev/logur) and [sirupsen/logrus](https://github.com/sirupsen/logrus))\n- error handling (using [emperror.dev/emperror](https://emperror.dev/emperror))\n- metrics and tracing using [Prometheus](https://prometheus.io/) and [Jaeger](https://www.jaegertracing.io/) (via [OpenCensus](https://opencensus.io/))\n- health checks (using [AppsFlyer/go-sundheit](https://github.com/AppsFlyer/go-sundheit))\n- graceful restart (using [cloudflare/tableflip](https://github.com/cloudflare/tableflip)) and shutdown\n- support for multiple server/daemon instances (using [oklog/run](https://github.com/oklog/run))\n- messaging (using [ThreeDotsLabs/watermill](https://github.com/ThreeDotsLabs/watermill))\n- MySQL database connection (using [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql))\n- ~~Redis connection (using [gomodule/redigo](https://github.com/gomodule/redigo))~~ removed due to lack of usage (see [#120](../../issues/120))\n\n### Load generation\n\nTo test or demonstrate the application it comes with a simple load generation tool.\nYou can use it to test the example endpoints and generate some load (for example in order to fill dashboards with data).\n\nFollow the instructions in [etc/loadgen](etc/loadgen).\n\n## Inspiration\n\nSee [INSPIRATION.md](INSPIRATION.md) for links to articles, projects, code examples that somehow inspired\nme while working on this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmdv%2Fmodern-go-bootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmdv%2Fmodern-go-bootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmdv%2Fmodern-go-bootstrap/lists"}