Repolode
gogf

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. 1

    Add the framework to an existing Go module

    go get -u github.com/gogf/gf/v2
  2. 2

    Create main.go with a hello-world HTTP server (see README usage)

  3. 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