An opinionated Go framework for building microservices, with built-in databases, observability, gRPC and Kubernetes-oriented defaults.
gogf/gf
A modular Go application framework with an HTTP server, ORM, caching, logging, and tracing, usable as a full framework or per-component.
- Stars
- 13,300
- Forks
- 1,728
- Open issues
- 143
- Last commit
- yesterday
What is it?
GoFrame is a Go framework for building application backends. It can be used as a complete application framework or by picking individual components as needed. The project provides a web server package (ghttp) with handler binding and a quick start that runs a server in a few lines of code.
The framework includes a database ORM, configuration management, logging, caching, and observability hooks such as OpenTelemetry tracing. It also ships a gf command-line tool that scaffolds new projects and runs them during development.
The project targets Go 1.23 and later and is installed with go get. Its topics point to microservice and Kubernetes use, so it is aimed at service-oriented backends written in Go.
Key features
- 01Built-in HTTP server with route handler binding
- 02Database ORM for data access
- 03Configuration, logging, and caching components
- 04OpenTelemetry tracing support
- 05gf CLI for scaffolding and running projects
Use cases
- Building REST or web backends in Go
- Developing microservices that need tracing and logging
- Starting a new Go project with a scaffolded structure
Quick start
- 1
Add the framework to an existing Go module
go get -u github.com/gogf/gf/v2 - 2
Create main.go with a hello-world HTTP server (see README usage)
- 3
Initialize the module and run the server
go mod init hello && go mod tidy && go run main.go
Things to know
- Requires Go 1.23 or later.
In collections
Topics
FAQ
- What is gf?
- A modular Go application framework with an HTTP server, ORM, caching, logging, and tracing, usable as a full framework or per-component. GoFrame is a Go framework for building application backends. It can be used as a complete application framework or by picking individual components as needed. The project provides a web server package (ghttp) with handler binding and a quick start that runs a server in a few lines of code.
- Is gf free to use? What license does it have?
- gf is open source under the MIT license. Check the license terms before using it in commercial products.
- Is gf still maintained?
- Actively maintained. The last commit to gf was on Nov 6, 2026.
- What can I use gf for?
- Building REST or web backends in Go Developing microservices that need tracing and logging Starting a new Go project with a scaffolded structure
- How do I install gf?
- Add the framework to an existing Go module: go get -u github.com/gogf/gf/v2 Create main.go with a hello-world HTTP server (see README usage) Initialize the module and run the server: go mod init hello && go mod tidy && go run main.go
- Where can I get gf?
- The source code and installation instructions are on GitHub: https://github.com/gogf/gf
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A PSR-compatible PHP full-stack framework for long-running apps, built on the RoadRunner application server.
A high-level Python web framework that encourages rapid development and clean, pragmatic design.
A PHP web application framework with expressive syntax, covering routing, ORM, migrations, queues, and real-time broadcasting.
Ruby on Rails is a full-stack MVC web framework for building database-backed web applications in Ruby.
A declarative, extensible Elixir framework for building applications around resources, actions, and policies.