gofr-dev

    gofr-dev/gofr

    #998 this week

    An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.

    api
    observability
    monitoring
    backend
    web
    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
    Go
    Apache-2.0
    21.6K stars
    1.8K forks
    21.6K watching
    Updated 5/4/2026
    View on GitHub

    Genblaze — open-source SDK for generative multimedia pipelines

    Orchestrate AI video, audio & image providers in Python with provenance built into every output.

    BackblazeLearn more

    Loading star history...

    Health Score

    75

    Activity
    2
    Community
    25
    Maintenance
    40
    Last release6d ago

    Weekly Growth

    +0

    +0.0% this week

    Contributors

    135

    Total contributors

    Open Issues

    110

    Use Cases & Benefits

    About gofr

    GoFr

    logo

    GoFr: An Opinionated Microservice Development Framework

    godoc gofr-docs Maintainability Code Coverage Go Report Card Apache 2.0 License discord

    Listed in the CNCF Landscape

    🎯 Goal

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


    💡 Key Features

    1. Simple API Syntax
    2. REST Standards by Default
    3. Configuration Management
    4. Observability (Logs, Traces, Metrics)
    5. Inbuilt Auth Middleware & Custom Middleware Support
    6. gRPC Support
    7. HTTP Service with Circuit Breaker Support
    8. Pub/Sub
    9. Health Check for All Datasources
    10. Database Migration
    11. Cron Jobs
    12. Support for Changing Log Level Without Restarting
    13. Swagger Rendering
    14. Abstracted File Systems
    15. Websockets

    🚀 Getting Started

    Prerequisites

    • GoFr requires Go version 1.24 or above.

    Installation

    To get started with GoFr, add the following import to your code and use Go’s module support to automatically fetch dependencies:

    import "gofr.dev/pkg/gofr"
    

    Alternatively, use the command:

    go get -u gofr.dev/pkg/gofr
    

    🏃 Running GoFr

    Here's a simple example to get a GoFr application up and running:

    package main
    
    import "gofr.dev/pkg/gofr"
    
    func main() {
    	app := gofr.New()
    
    	app.GET("/greet", func(ctx *gofr.Context) (any, error) {
    		return "Hello World!", nil
    	})
    
    	app.Run() // listens and serves on localhost:8000
    }
    

    To run this code:

    $ go run main.go
    

    Visit localhost:8000/greet to see the result.


    📂 More Examples

    Explore a variety of ready-to-run examples in the GoFr examples directory.


    👩‍💻 Documentation


    👍 Contribute

    Join Us in Making GoFr Better

    Share your experience: If you’ve found GoFr helpful, consider writing a review or tutorial on platforms like Medium, Dev.to, or your personal blog. Your insights could help others get started faster!

    Contribute to the project: Want to get involved? Check out our CONTRIBUTING.md guide to learn how you can contribute code, suggest improvements, or report issues.


    🔒 Secure Cloning

    To securely clone the GoFr repository, you can use HTTPS or SSH:

    Cloning with HTTPS

    git clone https://github.com/gofr-dev/gofr.git
    

    Cloning with SSH

    git clone [email protected]:gofr-dev/gofr.git
    

    🎁 Get a GoFr T-Shirt & Stickers!

    If your PR is merged, or if you contribute by writing articles or promoting GoFr, we invite you to fill out this form to claim your GoFr merchandise as a token of our appreciation!

    Partners

    JetBrains logo

    Discover Repositories

    Search across tracked repositories by name or description