{"id":22711738,"url":"https://github.com/manyakrus/starter","last_synced_at":"2025-04-13T16:13:07.258Z","repository":{"id":143372263,"uuid":"615212405","full_name":"ManyakRus/starter","owner":"ManyakRus","description":"Starter components for golang, for connect to any external service with 1 line of code.","archived":false,"fork":false,"pushed_at":"2025-04-11T06:59:09.000Z","size":45849,"stargazers_count":22,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T16:12:56.477Z","etag":null,"topics":["camunda","chatgpt","email","golang","imap","kafka","nats","postgres","postgresql","telegram","whatsapp"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ManyakRus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-03-17T07:38:36.000Z","updated_at":"2025-04-11T06:58:50.000Z","dependencies_parsed_at":"2024-03-06T08:24:40.860Z","dependency_job_id":"cb1c993c-009e-488d-a7e7-49b1595ecdc1","html_url":"https://github.com/ManyakRus/starter","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fstarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fstarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fstarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManyakRus%2Fstarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ManyakRus","download_url":"https://codeload.github.com/ManyakRus/starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741194,"owners_count":21154255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["camunda","chatgpt","email","golang","imap","kafka","nats","postgres","postgresql","telegram","whatsapp"],"created_at":"2024-12-10T13:07:56.454Z","updated_at":"2025-04-13T16:13:07.237Z","avatar_url":"https://github.com/ManyakRus.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Набор компонент для языка Golang\nАвтор: Александр Никитин\n\nНабор компонент для языка golang сделан для облегчения работы программиста,\nчтобы любой компонент можно было подключить одной строкой кода.\n\nКомпоненты для запуска любых микросерверов (ядро):\n1. log - компонент для логирования информации в консоль (логгер logrus)\n2. contextmain - контекст общий на всё приложение\n3. stopapp - ожидание завершения работы приложения Gracefull shutdown (CTRL+C), WaitGroup\n4. config - загрузка параметров из файла .env или из переменных окружения\n\nПодключение к внешним сервисам:\n1. camunda_connect - подключение с сервису camunda\n2. chatgpt_connect - подключение к сервису ChatGPT OpenAI, искуственный интеллект\n3. fiber_connect - подключение веб сервера с компонентой fiber\n4. kafka_connect - подключение к брокеру сообщений kafka\n5. liveness - создание примитивного веб сервера для проверки работает или нет микросервис\n6. mssql_connect - подключение к серверу Microsoft SQL server с драйвером sqlx\n7. mssql_gorm - подключение к серверу Microsoft SQL server с драйвером gorm\n8. nats_connect - подключение к брокеру сообщений NATS\n9. postgres_connect - подключение с серверу баз данных Postgres, с драйвером sqlx\n10. postgres_gorm - подключение с серверу баз данных Postgres, с драйвером gorm\n11. postgres_pgx - подключение с серверу баз данных Postgres, с драйвером pgx\n12. whatsapp_connect - подключение к сервисам мессенджера whatsapp\n\nКаждое подключение к внешним сервисам использует общий logger, contextmain, WaitGroup,\nconfig, и свою структуру Settings с параметрами\n\nА также дополнительные библиотеки:\n1. micro - набор небольших полезных функций\n2. ping - функция для проверки работы порта на нужном хосте\n\nПример минимального ядра:\n```\nfunc main() {\n\tconfig.LoadEnv()\n\tstopapp.StartWaitStop()\n\n\t//ваш код\n\n\tstopapp.GetWaitGroup_Main().Wait()\n}\n```\n\n\nПример с разными подключениями:\n```\nfunc main() {\n\tconfig.LoadEnv()\n\n\tcontextmain.GetContext()\n\n\tstopapp.StartWaitStop()\n\n\tmssql_gorm.StartDB()\n\n\tpostgres_gorm.StartDB()\n\n\tnats.StartNats()\n\n\tcamunda.StartCamunda()\n\n\tliveness.Start()\n\n\tstopapp.GetWaitGroup_Main().Wait()\n\n\tlog.Info(\"App stopped\")\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanyakrus%2Fstarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanyakrus%2Fstarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanyakrus%2Fstarter/lists"}