8000 GitHub - HariniVenugopal30/gofr: An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
  • Notifications You must be signed in to change notification settings
  • Fork 0
  • An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.

    License

    Notifications You must be signed in to change notification settings

    HariniVenugopal30/gofr

    Β 
    Β 

    Folders and files

    NameName
    Last commit message 8000
    Last commit date

    Latest commit

    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 

    Repository files navigation

    GoFr

    logo

    GoFr: An Opinionated Microservice Development Framework

    godoc gofr-docs maintainability test-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.21 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

    Help us make GoFr even better:

    1. Star this repo on GitHub! 🌟
    2. Write a review or tutorial on Medium, Dev.to, or your blog.
    3. Review the CONTRIBUTING.md guide to learn how to contribute to the project.

    πŸ”’ 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 git@github.com: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

    About

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

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages

    • Go 99.7%
    • Other 0.3%
    0