gofrLogo

An Opinionated Go Framework

For accelerated microservice development

main.go
main_test.go
package main
import "gofr.dev/pkg/gofr"
func main() {
app := gofr.New()
app.GET("/hello", func(c *gofr.Context) (interface{}, error) {
return "Hello GoFr!", nil
})
app.Run()
}

Battle Tested at Enterprise Scale

Built over years running production workload at great scales in variety of industries.

Out of the box Observability

Goodness of Metrics, Traces and Logs without a single line of code. Traces to OpenTelemetry compatible providers, Metrics in Prometheus Format.

REST Standards by default

Default behaviour is how 'you' would design a REST API. Status codes, response formats - all taken care by GoFr automagically.

Middleware support

Elevate productivity effortlessly with predefined middleware's, while retaining flexibility through seamless integration of custom middleware tailored to your specific needs.

Environment based config

Following the 12-factor config principles for maintaining application configurations, simplify the integration of data sources like MySQL, Postgres, Kafka, Google Pubsub, and others.

Crash Handling

GoFr catches all and every panics and automatically recovers from them to maintain continuous availability of your server.

In Built Datasources Support

TransistorTransistorTransistorTransistorTransistorTransistorTransistorTransistorTransistorTransistor

What I like about GoFr is that it plays well with the standard CI/CD infrastructure, deployment environment, and every additional tool in between. Also, it solves for the 80% cases, thus, ensuring we only focus on our core business

profile
Praveen Kumar
Founder of apnerve labs

The strong opinions embedded in GoFr.dev make it incredibly efficient and straightforward to work with. It's like having a trusted expert guiding your every move. The framework's Golang foundation ensures exceptional performance and reliability. If you're serious about microservices, this is a must-try

profile
Vineet Dwivedi
Founder & CEO at LaunchX