gofr-dev/gofr
GoFr
GoFr: An Opinionated Microservice Development Framework
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
- Simple API Syntax
- REST Standards by Default
- Configuration Management
- Observability (Logs, Traces, Metrics)
- Inbuilt Auth Middleware & Custom Middleware Support
- gRPC Support
- HTTP Service with Circuit Breaker Support
- Pub/Sub
- Health Check for All Datasources
- Database Migration
- Cron Jobs
- Support for Changing Log Level Without Restarting
- Swagger Rendering
- Abstracted File Systems
- Websockets
π Getting Started
Prerequisites
Installation
To get started with GoFr, add the following import to your code and use Goβs module support to automatically fetch dependencies:
|
|
Alternatively, use the command:
|
|
π Running GoFr
Here’s a simple example to get a GoFr application up and running:
|
|
To run this code:
|
|
Visit localhost:8000/greet to see the result.
π More Examples
Explore a variety of ready-to-run examples in the GoFr examples directory.
π©βπ» Documentation
- GoDoc: Official API documentation.
- GoFr Documentation: Comprehensive guides and resources.
π Contribute
Help us make GoFr even better:
- Star this repo on GitHub! π
- Write a review or tutorial on Medium, Dev.to, or your blog.
- 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
|
|
Cloning with SSH
|
|
π 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