common-lib

module
v0.0.0-...-f88be5b Latest Latest
Warning

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

Go to latest
Published: May 11, 2026 License: MIT

README

Common Lib

Библиотека общих компонентов для микросервисной архитектуры проекта Mountain Tour. Пакет содержит унифицированные инструменты для работы с конфигурацией, базами данных, логированием и безопасностью, обеспечивая единство кода во всех сервисах.

Установка

Для использования библиотеки в своем микросервисе добавьте её через go get:

Основные модули

  1. Config (pkg/config) Обеспечивает строго типизированную загрузку настроек из переменных окружения (ENV). Поддерживает валидацию обязательных полей и автоматическую конвертацию типов данных.

  2. Logger (pkg/logger) Высокопроизводительный логгер на базе uber-go/zap. Настроен для вывода структурированных JSON-логов, что идеально подходит для систем сбора и анализа логов (ELK Stack, Grafana Loki).

Доступные уровни: debug, info, warn, error

  1. Errors (pkg/errors) Кастомная реализация интерфейса error, позволяющая прокидывать строковые коды (Code) и оборачивать исходные ошибки для сохранения контекста и упрощения отладки.

  2. JWT (pkg/jwt) Модуль для работы с JSON Web Tokens (алгоритм шифрования HS256). Интегрирован с пакетом uuid для надежной идентификации пользователей.

  3. Database (pkg/database) Инициализация пула соединений PostgreSQL (sql.DB). Включает в себя:

Поддержку PingContext для проверки соединения при старте.

Гибкую настройку лимитов подключений (MaxOpenConns, MaxIdleConns).

Зависимости (Dependencies)

Core: go 1.25.7

UUID: github.com/google/uuid v1.6.0

Postgres Driver: github.com/lib/pq v1.12.3

JWT: github.com/golang-jwt/jwt/v5 v5.3.1

Logging: go.uber.org/zap v1.28.0

Установка через go get github.com/yousefggg/common-lib

Directories

Path Synopsis
pkg
dto
jwt

Jump to

Keyboard shortcuts

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