{"id":13711452,"url":"https://github.com/gofr-dev/gofr","last_synced_at":"2026-02-06T13:22:04.122Z","repository":{"id":203304702,"uuid":"709242076","full_name":"gofr-dev/gofr","owner":"gofr-dev","description":"An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.","archived":false,"fork":false,"pushed_at":"2025-05-09T10:42:58.000Z","size":13607,"stargazers_count":10613,"open_issues_count":49,"forks_count":1636,"subscribers_count":30,"default_branch":"development","last_synced_at":"2025-05-10T05:07:23.369Z","etag":null,"topics":["framework","go","go-framework","golang","golang-framework","grpc","grpc-go","grpc-golang","hacktoberfest","http-server","logging","metrics","microservice","microservice-framework","opentelemetry","performance","rest-api","server","tracing","web-framework"],"latest_commit_sha":null,"homepage":"https://gofr.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gofr-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-24T10:14:48.000Z","updated_at":"2025-05-10T02:34:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"f2213cd5-f4de-44e0-97a4-53b4ee7ac716","html_url":"https://github.com/gofr-dev/gofr","commit_stats":{"total_commits":803,"total_committers":50,"mean_commits":16.06,"dds":0.8293897882938979,"last_synced_commit":"77615070ca50825e7d614764912d8caadf782fdd"},"previous_names":["gofr-dev/gofr"],"tags_count":103,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofr-dev%2Fgofr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofr-dev%2Fgofr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofr-dev%2Fgofr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gofr-dev%2Fgofr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gofr-dev","download_url":"https://codeload.github.com/gofr-dev/gofr/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253365470,"owners_count":21897188,"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","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":["framework","go","go-framework","golang","golang-framework","grpc","grpc-go","grpc-golang","hacktoberfest","http-server","logging","metrics","microservice","microservice-framework","opentelemetry","performance","rest-api","server","tracing","web-framework"],"created_at":"2024-08-02T23:01:08.309Z","updated_at":"2025-12-27T16:07:11.127Z","avatar_url":"https://github.com/gofr-dev.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1 style=\"font-size: 100px; font-weight: 500;\"\u003e\n    \u003ci\u003eGo\u003c/i\u003eFr\n\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cp\u003e\n\u003cimg width=\"300\" alt=\"logo\" src=\"https://github.com/gofr-dev/gofr/assets/44036979/916fe7b1-42fb-4af1-9e0b-4a7a064c243c\"\u003e\n\u003ch2 style=\"font-size: 28px;\"\u003e\u003cb\u003eGoFr: An Opinionated Microservice Development Framework\u003c/b\u003e\u003c/h2\u003e\n\u003c/p\u003e\n\u003ca href=\"https://pkg.go.dev/gofr.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/GoDoc-Read%20Documentation-blue?style=for-the-badge\" alt=\"godoc\"\u003e\u003c/a\u003e\n\u003ca href=\"https://gofr.dev/docs\"\u003e\u003cimg src=\"https://img.shields.io/badge/GoFr-Docs-orange?style=for-the-badge\" alt=\"gofr-docs\"\u003e\u003c/a\u003e\n\u003ca href=\"https://qlty.sh/gh/gofr-dev/projects/gofr\"\u003e\u003cimg src=\"https://qlty.sh/gh/gofr-dev/projects/gofr/maintainability.svg\" alt=\"Maintainability\" height=\"27.99\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://qlty.sh/gh/gofr-dev/projects/gofr\"\u003e\u003cimg src=\"https://qlty.sh/gh/gofr-dev/projects/gofr/coverage.svg\" alt=\"Code Coverage\" height=\"27.99\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://goreportcard.com/report/gofr.dev\"\u003e\u003cimg src=\"https://goreportcard.com/badge/gofr.dev?style=for-the-badge\" alt=\"Go Report Card\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue?style=for-the-badge\" alt=\"Apache 2.0 License\"\u003e\u003c/a\u003e\n\u003ca href=\"https://discord.gg/wsaSkQTdgq\"\u003e\u003cimg src=\"https://img.shields.io/badge/discord-join-us?style=for-the-badge\u0026logo=discord\u0026color=7289DA\" alt=\"discord\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://gurubase.io/g/gofr\"\u003e\u003cimg src=\"https://img.shields.io/badge/Gurubase-Ask%20GoFr%20Guru-006BFF?style=for-the-badge\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003ch2\u003eListed in the \u003ca href=\"https://landscape.cncf.io/?selected=go-fr\"\u003eCNCF Landscape\u003c/a\u003e\u003c/h2\u003e\n\u003c/div\u003e\n\n## 🎯 **Goal**\nGoFr is designed to **simplify microservice development**, with key focuses on **Kubernetes deployment** and **out-of-the-box observability**. While capable of building generic applications, **microservices** remain at its core.\n\n---\n\n## 💡 **Key Features**\n\n1. **Simple API Syntax**\n2. **REST Standards by Default**\n3. **Configuration Management**\n4. **[Observability](https://gofr.dev/docs/quick-start/observability)** (Logs, Traces, Metrics)\n5. **Inbuilt [Auth Middleware](https://gofr.dev/docs/advanced-guide/http-authentication)** \u0026 Custom Middleware Support\n6. **[gRPC Support](https://gofr.dev/docs/advanced-guide/grpc)**\n7. **[HTTP Service](https://gofr.dev/docs/advanced-guide/http-communication)** with Circuit Breaker Support\n8. **[Pub/Sub](https://gofr.dev/docs/advanced-guide/using-publisher-subscriber)**\n9. **[Health Check](https://gofr.dev/docs/advanced-guide/monitoring-service-health)** for All Datasources\n10. **[Database Migration](https://gofr.dev/docs/advanced-guide/handling-data-migrations)**\n11. **[Cron Jobs](https://gofr.dev/docs/advanced-guide/using-cron)**\n12. **Support for [Changing Log Level](https://gofr.dev/docs/advanced-guide/remote-log-level-change) Without Restarting**\n13. **[Swagger Rendering](https://gofr.dev/docs/advanced-guide/swagger-documentation)**\n14. **[Abstracted File Systems](https://gofr.dev/docs/advanced-guide/handling-file)**\n15. **[Websockets](https://gofr.dev/docs/advanced-guide/websocket)**\n\n---\n\n## 🚀 **Getting Started**\n\n### **Prerequisites**\n- GoFr requires **[Go](https://go.dev/)** version **[1.24](https://go.dev/doc/devel/release#go1.24.0)** or above.\n\n### **Installation**\nTo get started with GoFr, add the following import to your code and use Go’s module support to automatically fetch dependencies:\n\n```go\nimport \"gofr.dev/pkg/gofr\"\n```\n\nAlternatively, use the command:\n\n```bash\ngo get -u gofr.dev/pkg/gofr\n```\n\n---\n\n## 🏃 **Running GoFr**\n\nHere's a simple example to get a GoFr application up and running:\n\n```go\npackage main\n\nimport \"gofr.dev/pkg/gofr\"\n\nfunc main() {\n\tapp := gofr.New()\n\n\tapp.GET(\"/greet\", func(ctx *gofr.Context) (any, error) {\n\t\treturn \"Hello World!\", nil\n\t})\n\n\tapp.Run() // listens and serves on localhost:8000\n}\n```\n\nTo run this code:\n\n```bash\n$ go run main.go\n```\n\nVisit [`localhost:8000/greet`](http://localhost:8000/greet) to see the result.\n\n---\n\n## 📂 **More Examples**\n\nExplore a variety of ready-to-run examples in the [GoFr examples directory](https://github.com/gofr-dev/gofr/tree/development/examples).\n\n---\n\n## 👩‍💻 **Documentation**\n\n- **[GoDoc](https://pkg.go.dev/gofr.dev)**: Official API documentation.\n- **[GoFr Documentation](https://gofr.dev/docs)**: Comprehensive guides and resources.\n\n---\n\n## 👍 **Contribute**\n\nJoin Us in Making GoFr Better\n\n**Share your experience**: If you’ve found GoFr helpful, consider writing a review or tutorial on platforms like **[Medium](https://medium.com/)**, **[Dev.to](https://dev.to/)**, or your personal blog. \nYour insights could help others get started faster!\n\n**Contribute to the project**: Want to get involved? Check out our **[CONTRIBUTING.md](CONTRIBUTING.md)**\nguide to learn how you can contribute code, suggest improvements, or report issues.\n\n---\n\n## 🔒 **Secure Cloning**\nTo securely clone the GoFr repository, you can use HTTPS or SSH:\n\n### Cloning with HTTPS\n```bash\ngit clone https://github.com/gofr-dev/gofr.git\n```\n### Cloning with SSH\n```bash\ngit clone git@github.com:gofr-dev/gofr.git\n```\n\n### 🎁 **Get a GoFr T-Shirt \u0026 Stickers!**\n\nIf your PR is merged, or if you contribute by writing articles or promoting GoFr, we invite you to fill out [this form](https://forms.gle/R1Yz7ZzY3U5WWTgy5) to claim your GoFr merchandise as a token of our appreciation! \n\n### Partners\n\n\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.png\" alt=\"JetBrains logo\" width=\"200\"\u003e\n","funding_links":[],"categories":["Web Frameworks","Go","Web框架","后端开发框架及项目","Service Toolkits"],"sub_categories":["Utility/Miscellaneous","实用程序/Miscellaneous","后端项目_其他","Go"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgofr-dev%2Fgofr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgofr-dev%2Fgofr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgofr-dev%2Fgofr/lists"}