Is a set of well-tested (or not well 🤭) reusable components to speedup day-to-day development of HTTP and gRPC APIs.
The code should be very straightforward to read, but you always can check the go docs.
authkit
- Authentication and authorization utilities for securing your API endpointsctxkit
- Context management utilities and helpers for request context handlingdbkit
- Database utilities and helpers for working with various databases (PostgreSQL, SQLite)errkit
- Error handling utilities and custom error types for better error managementgrpckit
- gRPC server utilities and middleware for building gRPC serviceshttpkit
- HTTP server utilities, middleware, and helpers for building HTTP APIsidkit
- ID generation utilities using ULID for unique identifier generationlogkit
- Logging utilities and structured logging helpersmailkit
- Email sending utilities and templates for handling email communicationsrespond
- Response formatting utilities for consistent API responsesretry
- Retry mechanisms and backoff strategies for handling transient failuresslackkit
- Slack integration utilities for sending notifications and messagestern
- Ternary operator
- github.com/VictoriaMetrics/metric
- github.com/mattn/go-sqlite3
- github.com/benbjohnson/litestream
- github.com/go-chi/chi
- github.com/jackc/pgx/v5
- github.com/jackc/tern/v2
- github.com/maxatome/go-testdeep
- github.com/oklog/ulid/v2
- github.com/redis/go-redis/v9
You can find our guidelines here.