# gofr-dev/gofr

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gofr-dev-gofr).**

21,321 stars · 1,757 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/gofr-dev/gofr
- Homepage: https://gofr.dev
- awesome-repositories: https://awesome-repositories.com/repository/gofr-dev-gofr.md

## Topics

`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`

## Description

Gofr is a comprehensive framework for building production-ready microservices in Go. It provides a unified toolkit for developing RESTful APIs and gRPC services, offering built-in support for observability, database management, and distributed system communication.

The framework distinguishes itself through its focus on developer productivity and system resilience. It automates common backend tasks such as CRUD handler generation, schema-driven code creation, and database migration orchestration, while preventing race conditions in clustered environments. To maintain stability, it includes integrated resilience patterns like circuit breakers, request throttling, and automatic retry logic for network calls.

Beyond core service development, the project covers a broad range of infrastructure needs including asynchronous messaging, background task scheduling, and cloud storage connectivity. It simplifies local development by providing orchestration tools to manage containerized dependencies and environment-specific configurations.

The framework is designed for observability, featuring built-in support for distributed trace propagation, health monitoring, and performance metrics export. It includes standardized middleware for enforcing security policies and managing request pipelines across both HTTP and gRPC endpoints.

## Tags

### Software Engineering & Architecture

- [Microservice Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/distributed-computing-paradigms/microservice-frameworks.md) — A comprehensive toolkit for building production-ready microservices in Go with built-in support for REST, gRPC, observability, and database management.
- [Resiliency Patterns](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/design-patterns/resiliency-patterns.md) — Implements resilience patterns like circuit breakers and automatic retries for outgoing network calls to maintain system stability.
- [Distributed Systems Toolkits](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems-toolkits.md) — A collection of utilities for managing inter-service communication, message broker integration, and distributed tracing across complex service architectures.
- [Interceptor Middleware](https://awesome-repositories.com/f/software-engineering-architecture/interceptor-middleware.md) — Add custom logic for authentication, validation, and request transformation to both unary and streaming RPC calls using configurable middleware. ([source](https://gofr.dev/docs/advanced-guide/grpc))
- [Microservice Orchestration](https://awesome-repositories.com/f/software-engineering-architecture/microservice-orchestration.md) — Developing and connecting distributed services using gRPC and message brokers with integrated health monitoring, circuit breaking, and request tracing.
- [Declarative Configuration](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-sourcing-and-binding/declarative-configuration.md) — Loads application settings and environment profiles declaratively to decouple infrastructure parameters from business logic.
- [Remote Service Invocations](https://awesome-repositories.com/f/software-engineering-architecture/service-locators/remote-service-invocations.md) — Executes remote service calls with built-in circuit breaking and health checks for resilient inter-service communication. ([source](https://gofr.dev/docs/advanced-guide/http-communication))
- [Message Brokers](https://awesome-repositories.com/f/software-engineering-architecture/message-brokers.md) — Enables asynchronous communication by publishing messages to specific topics via integrated message brokers. ([source](https://gofr.dev/docs/advanced-guide/using-publisher-subscriber))

### Networking & Communication

- [Remote Procedure Call Frameworks](https://awesome-repositories.com/f/networking-communication/remote-procedure-call-frameworks.md) — A development platform for creating high-performance remote procedure call services that includes automatic health monitoring, tracing, and request throttling.
- [Distributed Trace Propagation](https://awesome-repositories.com/f/networking-communication/distributed-trace-propagation.md) — Inject and extract tracing context across service boundaries to enable end-to-end request monitoring in a distributed architecture. ([source](https://gofr.dev/docs/advanced-guide/http-communication))
- [HTTP Servers](https://awesome-repositories.com/f/networking-communication/http-clients/http-servers.md) — Initializes web servers with automatic routing, structured logging, and graceful shutdown capabilities for microservice infrastructure. ([source](https://gofr.dev/docs/quick-start/introduction))
- [Middleware-Based Request Pipelines](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/middleware-based-request-pipelines.md) — Processes HTTP and gRPC requests through a configurable middleware chain for authentication, logging, and observability.
- [gRPC Interfaces](https://awesome-repositories.com/f/networking-communication/grpc-interfaces.md) — Generates boilerplate gRPC client code with support for customizable connection settings and load balancing. ([source](https://gofr.dev/docs/advanced-guide/grpc))
- [Message Brokers](https://awesome-repositories.com/f/networking-communication/message-brokers.md) — Facilitates asynchronous data transmission between services using thread-safe messaging patterns. ([source](https://gofr.dev/docs/advanced-guide/websocket))
- [Reflection Services](https://awesome-repositories.com/f/networking-communication/grpc-interfaces/reflection-services.md) — Expose service metadata to external tools to simplify the debugging, inspection, and testing of remote procedure call endpoints. ([source](https://gofr.dev/docs/advanced-guide/grpc))
- [Message Broker Consumers](https://awesome-repositories.com/f/networking-communication/message-broker-consumers.md) — Registers handlers to process incoming messages from brokers with automatic data binding to application types. ([source](https://gofr.dev/docs/advanced-guide/using-publisher-subscriber))

### Web Development

- [RESTful API Development](https://awesome-repositories.com/f/web-development/restful-api-development.md) — Building and documenting HTTP-based backend services with automated routing, standardized data serialization, and built-in observability for production environments.
- [RESTful API Frameworks](https://awesome-repositories.com/f/web-development/restful-api-frameworks.md) — A backend engine that automates routing, documentation generation, and CRUD handler creation to accelerate the development of web-based microservices.
- [RESTful APIs](https://awesome-repositories.com/f/web-development/restful-apis.md) — Exposes standardized RESTful API endpoints with automatic documentation generation to facilitate rapid backend service development. ([source](https://cdn.jsdelivr.net/gh/gofr-dev/gofr@development/README.md))
- [CRUD Generators](https://awesome-repositories.com/f/web-development/crud-generators.md) — Automatically generates CRUD handlers from data structures to perform standard database operations without boilerplate code. ([source](https://gofr.dev/docs/quick-start/add-rest-handlers))
- [API Service Generators](https://awesome-repositories.com/f/web-development/api-service-generators.md) — Generates server templates and registration hooks for deploying high-performance gRPC services with built-in observability. ([source](https://gofr.dev/docs/advanced-guide/grpc))

### Data & Databases

- [Automated Migrations](https://awesome-repositories.com/f/data-databases/automated-migrations.md) — Orchestrates database schema migrations with coordinated workflows to prevent race conditions in clustered environments.
- [Database Schema Migrations](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-management/database-schema-migrations.md) — Automates versioned database schema migrations to ensure consistent state across deployment environments. ([source](https://cdn.jsdelivr.net/gh/gofr-dev/gofr@development/README.md))
- [Database Connectivity](https://awesome-repositories.com/f/data-databases/database-connectivity.md) — Establishes secure, environment-configured connections to relational databases using standard transport protocols. ([source](https://gofr.dev/docs/quick-start/connecting-mysql))
- [Connection Pool Managers](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/connection-transaction-management/connection-pool-managers.md) — Optimizes database resource usage through configurable connection pooling and session management. ([source](https://gofr.dev/docs/quick-start/connecting-mysql))
- [Redis Clients](https://awesome-repositories.com/f/data-databases/redis-clients.md) — Provides secure connectivity to Redis data stores with support for TLS and mTLS encryption. ([source](https://gofr.dev/docs/quick-start/connecting-redis))
- [Migration Execution Engines](https://awesome-repositories.com/f/data-databases/data-integration-synchronization/data-migration/migration-execution-engines.md) — Prevents race conditions in clustered environments by coordinating distributed database migration execution. ([source](https://gofr.dev/docs/advanced-guide/handling-data-migrations))
- [Atomic Transactions](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/connection-transaction-management/atomic-transactions.md) — Executes multiple database operations as a single atomic unit to ensure data consistency during schema updates. ([source](https://gofr.dev/docs/advanced-guide/handling-data-migrations))
- [Traffic Routing](https://awesome-repositories.com/f/data-databases/read-replicas/traffic-routing.md) — Automatically routes database operations to primary instances or read replicas to improve performance. ([source](https://gofr.dev/docs/quick-start/connecting-mysql))
- [File Storage Services](https://awesome-repositories.com/f/data-databases/storage-abstraction/file-storage-services.md) — Provides unified interfaces for connecting to local and cloud-based file storage backends. ([source](https://gofr.dev/docs/advanced-guide/handling-file))

### Security & Cryptography

- [Backend Security Middleware](https://awesome-repositories.com/f/security-cryptography/security/application-and-web/web-application/backend-security-middleware.md) — Apply authentication middleware to protect routes and support custom logic to enforce access control policies. ([source](https://cdn.jsdelivr.net/gh/gofr-dev/gofr@development/README.md))

### System Administration & Monitoring

- [Distributed Tracing](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/distributed-tracing-execution-analysis/distributed-tracing.md) — Instruments services to propagate unique request identifiers across boundaries for end-to-end distributed tracing.
- [Health Monitoring Endpoints](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/operational-health-alerting/health-monitoring-endpoints.md) — Provide built-in endpoints for liveness, readiness, and observability metrics to support automated monitoring within container platforms. ([source](https://gofr.dev/docs/guides/dockerizing-gofr-services))
- [Monitoring and Observability](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability.md) — Collect and export logs, metrics, and distributed traces to monitor service health and performance in real-time. ([source](https://cdn.jsdelivr.net/gh/gofr-dev/gofr@development/README.md))
- [Background Job Schedulers](https://awesome-repositories.com/f/system-administration-monitoring/background-job-schedulers.md) — Executes asynchronous tasks and scheduled workflows with integrated performance monitoring and tracing.
- [Application Logging](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/telemetry-and-log-collectors/application-logging.md) — Record system activity and diagnostic information using configurable severity levels to assist in debugging and monitoring service health. ([source](https://gofr.dev/docs))
- [Performance Metrics Exporters](https://awesome-repositories.com/f/system-administration-monitoring/performance-metrics-exporters.md) — Publish internal service telemetry to external analysis tools to track performance trends and resource utilization. ([source](https://gofr.dev/docs))

### Part of an Awesome List

- [Language Toolkits](https://awesome-repositories.com/f/awesome-lists/devtools/language-toolkits.md) — Opinionated framework for scalable microservice development.

### Development Tools & Productivity

- [Schema-Driven Code Generators](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/code-generation/schema-driven-code-generators.md) — Automates the creation of API handlers and client stubs by parsing data structures to reduce manual development effort.
- [Background Task Schedulers](https://awesome-repositories.com/f/development-tools-productivity/background-task-schedulers.md) — Provides utilities for managing recurring, scheduled, or delayed background operations and job execution. ([source](https://cdn.jsdelivr.net/gh/gofr-dev/gofr@development/README.md))
- [API Explorers](https://awesome-repositories.com/f/development-tools-productivity/api-explorers.md) — Renders OpenAPI specifications as interactive web interfaces for exploring and testing API endpoints. ([source](https://gofr.dev/docs/advanced-guide/swagger-documentation))
- [Task Scheduling](https://awesome-repositories.com/f/development-tools-productivity/task-scheduling.md) — Automates the execution of custom functions based on fixed time intervals with built-in execution tracing. ([source](https://gofr.dev/docs/advanced-guide/using-cron))

### DevOps & Infrastructure

- [API Throttling](https://awesome-repositories.com/f/devops-infrastructure/api-throttling.md) — Limit the rate of incoming unary and streaming RPC calls using a token bucket algorithm to protect service capacity and ensure fair resource distribution. ([source](https://gofr.dev/docs/advanced-guide/grpc))
- [Application Settings Management](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management.md) — Decouples application logic from deployment parameters by loading settings from environment variables and configuration files. ([source](https://gofr.dev/docs/quick-start/configuration))
- [Cloud Infrastructure Integrations](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-integrations.md) — Managing connections to external cloud storage, message brokers, and databases through unified configuration and secure environment-based settings.
- [Environment Configuration Profiles](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/environment-configuration-profiles.md) — Supports distinct configuration profiles for development, staging, and production environments via environment variables. ([source](https://gofr.dev/docs/quick-start/configuration))
- [Containerized Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-deployments.md) — Packages services into minimal, production-ready container images using multi-stage builds. ([source](https://gofr.dev/docs/guides/dockerizing-gofr-services))
