Categorygithub.com/ManyakRus/starter
module
1.0.65
Repository: https://github.com/manyakrus/starter.git
Documentation: pkg.go.dev

# README

Набор компонент для языка Golang Автор: Александр Никитин

Набор компонент для языка golang сделан для облегчения работы программиста, чтобы любой компонент можно было подключить одной строкой кода.

Компоненты для запуска любых микросерверов (ядро):

  1. log - компонент для логирования информации в консоль (логгер logrus)
  2. contextmain - контекст общий на всё приложение
  3. stopapp - ожидание завершения работы приложения Gracefull shutdown (CTRL+C), WaitGroup
  4. config - загрузка параметров из файла .env или из переменных окружения

Подключение к внешним сервисам:

  1. camunda_connect - подключение с сервису camunda
  2. chatgpt_connect - подключение к сервису ChatGPT OpenAI, искуственный интеллект
  3. fiber_connect - подключение веб сервера с компонентой fiber
  4. kafka_connect - подключение к брокеру сообщений kafka
  5. liveness - создание примитивного веб сервера для проверки работает или нет микросервис
  6. mssql_connect - подключение к серверу Microsoft SQL server с драйвером sqlx
  7. mssql_gorm - подключение к серверу Microsoft SQL server с драйвером gorm
  8. nats_connect - подключение к брокеру сообщений NATS
  9. postgres_connect - подключение с серверу баз данных Postgres, с драйвером sqlx
  10. postgres_gorm - подключение с серверу баз данных Postgres, с драйвером gorm
  11. postgres_pgx - подключение с серверу баз данных Postgres, с драйвером pgx
  12. whatsapp_connect - подключение к сервисам мессенджера whatsapp

Каждое подключение к внешним сервисам использует общий logger, contextmain, WaitGroup, config, и свою структуру Settings с параметрами

А также дополнительные библиотеки:

  1. micro - набор небольших полезных функций
  2. ping - функция для проверки работы порта на нужном хосте

Пример минимального ядра:

func main() {
	config.LoadEnv()
	stopapp.StartWaitStop()

	//ваш код

	stopapp.GetWaitGroup_Main().Wait()
}

Пример с разными подключениями:

func main() {
	config.LoadEnv()

	contextmain.GetContext()

	stopapp.StartWaitStop()

	mssql_gorm.StartDB()

	postgres_gorm.StartDB()

	nats.StartNats()

	camunda.StartCamunda()

	liveness.Start()

	stopapp.GetWaitGroup_Main().Wait()

	log.Info("App stopped")
}

# Packages

No description provided by the author
модуль для использования сервиса CAMUNDA.
No description provided by the author
No description provided by the author
No description provided by the author
модуль для хранения постоянных переменных, констант.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
дублирует все функции логгера logrus.
дублирует все функции логгера logrus.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
модуль для обмена с сервисом NATS через sync_exchange.
модуль для использования Телеграмм Клиента (или бота).
No description provided by the author