https://github.com/marsolab/servekit
A set of reusable components to speedup day-to-day development of HTTP and gRPC APIs.
https://github.com/marsolab/servekit
go golang library microservices retry
Last synced: 4 months ago
JSON representation
A set of reusable components to speedup day-to-day development of HTTP and gRPC APIs.
- Host: GitHub
- URL: https://github.com/marsolab/servekit
- Owner: marsolab
- License: mit
- Created: 2024-07-12T15:21:20.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2026-02-10T16:43:36.000Z (5 months ago)
- Last Synced: 2026-02-10T20:44:02.926Z (5 months ago)
- Topics: go, golang, library, microservices, retry
- Language: Go
- Homepage:
- Size: 340 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# The `servkit` helps to build APIs
Is a set of well-tested (or not well 🤭) reusable components to speedup day-to-day development of HTTP and gRPC APIs.
**⚠️ Under Construction:** There could be breaking changes until v1.0.0.
## Docs
The code should be very straightforward to read, but you always can check the [go docs](https://pkg.go.dev/github.com/marsolab/servekit).
## Packages
- `authkit` - Authentication and authorization utilities for securing your API endpoints
- `ctxkit` - Context management utilities and helpers for request context handling
- `dbkit` - Database utilities and helpers for working with various databases (PostgreSQL, SQLite)
- `errkit` - Error handling utilities and custom error types for better error management
- `grpckit` - gRPC server utilities and middleware for building gRPC services
- `httpkit` - HTTP server utilities, middleware, and helpers for building HTTP APIs
- `idkit` - ID generation utilities using ULID for unique identifier generation
- `logkit` - Logging utilities and structured logging helpers
- `mailkit` - Email sending utilities and templates for handling email communications
- `respond` - Response formatting utilities for consistent API responses
- `retry` - Retry mechanisms and backoff strategies for handling transient failures
- `slackkit` - Slack integration utilities for sending notifications and messages
- `tern` - Ternary operator
## On the shoulders of giants
- [github.com/VictoriaMetrics/metric](https://github.com/VictoriaMetrics/metrics)
- [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
- [github.com/benbjohnson/litestream](https://github.com/benbjohnson/litestream)
- [github.com/go-chi/chi](https://github.com/go-chi/chi)
- [github.com/jackc/pgx/v5](https://github.com/jackc/pgx/v5)
- [github.com/jackc/tern/v2](https://github.com/jackc/tern/v2)
- [github.com/maxatome/go-testdeep](https://github.com/maxatome/go-testdeep)
- [github.com/oklog/ulid/v2](https://github.com/oklog/ulid/v2)
- [github.com/redis/go-redis/v9](https://github.com/redis/go-redis/v9)
## Contributing guidelines
You can find [our guidelines here](CONTRIBUTING.md).
## License
[MIT License](LICENSE.md)