starter

module
v1.0.89 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2024 License: MIT

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")
}

Directories

Path Synopsis
модуль для использования сервиса CAMUNDA
модуль для использования сервиса CAMUNDA
модуль для хранения постоянных переменных, констант
модуль для хранения постоянных переменных, констант
дублирует все функции логгера logrus
дублирует все функции логгера logrus
дублирует все функции логгера logrus
дублирует все функции логгера logrus
pkg
модуль для обмена с сервисом NATS через sync_exchange
модуль для обмена с сервисом NATS через sync_exchange
модуль для использования Телеграмм Клиента (или бота)
модуль для использования Телеграмм Клиента (или бота)

Jump to

Keyboard shortcuts

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