1
0
mirror of https://github.com/ManyakRus/starter.git synced 2024-11-20 18:15:35 +02:00
Go to file
2024-11-19 12:43:10 +03:00
calendar сделал FindPreviousWorkDay() 2024-03-05 09:59:37 +03:00
camunda_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
chatgpt_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
chatgpt_proxy сделал Start_ctx() 2024-09-30 12:05:31 +03:00
config_main сделал LoadEnv_from_file() 2024-03-15 14:04:29 +03:00
constants сделал перенёс CONNECTION = 2024-01-15 11:19:37 +03:00
contextmain сделал folders.go 2023-07-20 15:54:11 +03:00
docs сделал LoadENV_or_SettingsTXT() 2024-03-15 11:45:51 +03:00
email сделал Start_ctx() 2024-09-30 12:05:31 +03:00
email_imap сделал Start_ctx() 2024-09-30 12:05:31 +03:00
fiber_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
folders сделал FindFiles_FromDirectory() 2024-10-22 15:00:07 +03:00
git сделал Show_LastCommitVersion() 2024-10-14 13:14:37 +03:00
kafka_connect сделал GetOffsetFromGroupID() 2024-11-12 15:36:49 +03:00
liveness сделал WEBSERVER_PORT_DEFAULT = "3000" 2024-10-18 16:21:36 +03:00
log сделал telegram_client.go 2023-05-19 16:05:54 +03:00
logger сделал packages.jpg 2023-09-13 13:48:19 +03:00
micro сделал InsertTextFrom() 2024-11-18 15:06:05 +03:00
microl сделал telegram_bot 2024-11-11 16:36:51 +03:00
minio_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
mssql_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
mssql_func сделал log 2023-04-25 17:28:10 +03:00
mssql_gorm сделал Start_ctx() 2024-09-30 12:05:31 +03:00
mssql_stek сделал Start_ctx() 2024-09-27 15:04:30 +03:00
nats_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
nats_liveness сделал Start_ctx() 2024-09-30 12:05:31 +03:00
pkg/version сделал tinkoff_connect.go 2024-11-19 11:36:44 +03:00
port_checker сделал CheckPort() 2023-12-26 16:42:53 +03:00
postgres_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
postgres_func сделал telegram_client.go 2023-06-01 18:02:36 +03:00
postgres_gorm сделал LogInfo_Connected(err) 2024-11-15 13:52:29 +03:00
postgres_pgx сделал LogInfo_Connected(err) 2024-11-15 13:52:29 +03:00
postgres_stek сделал Start_ctx() 2024-09-30 12:05:31 +03:00
stopapp сделал Start_ctx() 2024-09-30 12:05:31 +03:00
sync_exchange_connect сделал ServiceVersion 2024-11-06 14:51:56 +03:00
telegram_bot сделал msg.ParseMode = "HTML" 2024-11-14 14:30:20 +03:00
telegram_client сделал tinkoff_connect.go 2024-11-19 12:43:10 +03:00
tinkoff_connect сделал tinkoff_connect.go 2024-11-19 12:43:10 +03:00
vendor сделал tinkoff_connect.go 2024-11-19 11:36:44 +03:00
whatsapp_connect сделал Start_ctx() 2024-09-30 12:05:31 +03:00
.env_empty сделал tinkoff_connect.go 2024-11-19 12:43:10 +03:00
.gitignore сделал telegram_client 2024-06-24 17:11:55 +03:00
.golangci.yml сделал Int32FromString() 2024-09-26 14:49:25 +03:00
go.mod сделал tinkoff_connect.go 2024-11-19 11:36:44 +03:00
go.sum сделал tinkoff_connect.go 2024-11-19 11:36:44 +03:00
graph.svg сделал log 2023-04-25 17:28:10 +03:00
LICENSE Create LICENSE 2024-03-19 15:59:48 +03:00
make_version.sh сделал WEBSERVER_PORT_DEFAULT = "3000" 2024-10-18 16:21:36 +03:00
Makefile сделал GetOffsetFromGroupID() 2024-11-12 17:09:27 +03:00
readme.eng сделал GetConnection_WithApplicationName() 2023-12-14 16:52:21 +03:00
README.md Update README.md 2024-03-15 11:44:47 +03:00
test.sh сделал folders.go 2023-07-20 15:54:11 +03:00

Набор компонент для языка 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")
}