mirror of
https://github.com/ManyakRus/starter.git
synced 2024-11-24 08:52:34 +02:00
calendar | ||
camunda_connect | ||
chatgpt_connect | ||
claim_debtors_list/internal/v0/app | ||
config | ||
constants | ||
contextmain | ||
email_imap | ||
fiber_connect | ||
kafka_connect | ||
liveness | ||
log | ||
logger | ||
micro | ||
mssql_connect | ||
mssql_func | ||
mssql_gorm | ||
mssql_stek | ||
nats_connect | ||
pdf_generator | ||
ping | ||
postgres_connect | ||
postgres_func | ||
postgres_gorm | ||
postgres_pgx | ||
postgres_stek | ||
stopapp | ||
vendor | ||
whatsapp_connect | ||
.env_empty | ||
.gitignore | ||
go.mod | ||
go.sum | ||
graph.svg | ||
Makefile | ||
readme.eng | ||
README.md |
Набор компонент для языка Golang Автор: Александр Никитин Skype login: Travianbot
Набор компонент для языка golang сделан для облегчения работы программиста, чтобы любой компонент можно было подключить одной строкой кода.
Компоненты для запуска любых микросерверов (ядро):
- logger - компонент для логирования информации в консоль (logrus)
- contextmain - контекст общий на всё приложение
- stopapp - ожидание завершения работы приложения Gracefull shutdown (CTRL+C), WaitGroup
- config - загрузка параметров из файла .env или из переменных окружения
Подключение к внешним сервисам:
- camunda_connect - подключение с сервису camunda
- chatgpt_connect - подключение к сервису ChatGPT OpenAI, искуственный интеллект
- fiber_connect - подключение веб сервера с компонентой fiber
- kafka_connect - подключение к брокеру сообщений kafka
- liveness - создание примитивного веб сервера для проверки работает или нет микросервис
- mssql_connect - подключение к серверу Microsoft SQL server с драйвером sqlx
- mssql_gorm - подключение к серверу Microsoft SQL server с драйвером gorm
- nats_connect - подключение к брокеру сообщений NATS
- postgres_connect - подключение с серверу баз данных Postgres, с драйвером sqlx
- postgres_gorm - подключение с серверу баз данных Postgres, с драйвером gorm
- postgres_pgx - подключение с серверу баз данных Postgres, с драйвером pgx
- whatsapp_connect - подключение к сервисам мессенджера whatsapp
Каждое подключение к внешним сервисам использует общий logger, contextmain, WaitGroup, config, и свою структуру Settings с параметрами
А также дополнительные библиотеки:
- micro - набор небольших полезных функций
- ping - функция для проверки работы порта на нужном хосте
Пример минимального ядра:
func main() { config.LoadEnv() contextmain.GetContext() stopapp.StartWaitStop()
//ваш код
stopapp.GetWaitGroup_Main().Wait()
}
Пример с разными подключениями:
var log = logger.GetLog()
func main() { config.LoadEnv() contextmain.GetContext()
stopapp.StartWaitStop()
mssql_gorm.StartDB()
postgres_gorm.StartDB()
nats.StartNats()
camunda.StartCamunda()
liveness.Start()
stopapp.GetWaitGroup_Main().Wait()
}