zumi

module
v1.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2025 License: MIT

README

Zumi

An open-source opinionated Go framework for building APIs. Zumi is designed to be a simple Go framework that provides tools that are usually required in production environments, such as routing, database access, caching, and message queues.

Features

  • Config: YAML Configuration management with support for environment variables and default values similar to Spring Boot.
  • Server: A simple HTTP server with routing and middleware support. Also supports OpenAPI generation through go:generate.
  • Database: A database abstraction layer using pgx for PostgreSQL. Pagination support is provided through SelectRowsPageable.
  • Queue: A message queue implementation using NATS for pub/sub messaging.
  • Cache: A caching layer using valkey for fast key-value storage, with optional support for sentinel & pubsub messaging.
  • Resilience: Built-in support for retries and circuit breakers using failsafe-go.

Installation

go get github.com/SeaRoll/zumi

Usage

Take a look at the examples directory for usage examples.

Future Plans

  • Support more message queue implementations such as Kafka.
  • Add support for tracing and monitoring through OpenTelemetry/Prometheus (maybe using chi?).

Contributing

Contributions are welcome! Please open an issue or submit a pull request if you have suggestions or improvements.

License

This project is licensed under the MIT License.

Directories

Path Synopsis
Code generated by interfacer, DO NOT EDIT.
Code generated by interfacer, DO NOT EDIT.
Code generated by interfacer, DO NOT EDIT.
Code generated by interfacer, DO NOT EDIT.
examples
cache-pubsub command
Code generated by interfacer, DO NOT EDIT.
Code generated by interfacer, DO NOT EDIT.
gen command
A program that generates OpenAPI documentation for a Go server.
A program that generates OpenAPI documentation for a Go server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL