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.