{"id":24791586,"url":"https://github.com/sofyan48/bgin","last_synced_at":"2026-05-04T02:38:48.009Z","repository":{"id":40291877,"uuid":"213066132","full_name":"sofyan48/bgin","owner":"sofyan48","description":"Gin Golang Boilerplate","archived":false,"fork":false,"pushed_at":"2023-05-05T02:21:43.000Z","size":102,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T19:09:56.119Z","etag":null,"topics":["boilerplate","boilerplate-template","gin","gin-gonic","golang"],"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/sofyan48.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}},"created_at":"2019-10-05T20:22:08.000Z","updated_at":"2019-12-15T09:46:30.000Z","dependencies_parsed_at":"2023-07-14T00:47:46.215Z","dependency_job_id":null,"html_url":"https://github.com/sofyan48/bgin","commit_stats":null,"previous_names":["meongbego/bgin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sofyan48/bgin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofyan48%2Fbgin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofyan48%2Fbgin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofyan48%2Fbgin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofyan48%2Fbgin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sofyan48","download_url":"https://codeload.github.com/sofyan48/bgin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofyan48%2Fbgin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32592718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["boilerplate","boilerplate-template","gin","gin-gonic","golang"],"created_at":"2025-01-29T19:17:26.737Z","updated_at":"2026-05-04T02:38:47.994Z","avatar_url":"https://github.com/sofyan48.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BGIN\nCreate Your Micro Service with Gin Golang\n\n## TREE\n```\n├── Dockerfile\n├── Gopkg.lock\n├── Gopkg.toml\n├── README.md\n├── app\n│   ├── config\n│   │   └── config.go\n│   ├── controller\n│   │   ├── api\n│   │   │   ├── health.go\n│   │   │   ├── kafka.go\n│   │   │   ├── login.go\n│   │   │   └── ping.go\n│   │   └── routes.go\n│   ├── helper\n│   │   └── rest.go\n│   ├── libs\n│   │   └── utils.go\n│   ├── middlewares\n│   │   └── auth.go\n│   ├── models\n│   │   └── loginModels.go\n│   ├── moduls\n│   │   ├── migration\n│   │   │   └── scheme.go\n│   │   └── package\n│   │       ├── database.go\n│   │       ├── etcd.go\n│   │       ├── kafka.go\n│   │       └── redis.go\n│   └── server\n│       ├── router.go\n│       └── server.go\n├── docker-compose.yml\n├── go.mod\n├── go.sum\n├── main.go\n└── test\n    └── ping_test.go\n```\n\n## HOW TO INSTALL \n```\ngo get github.com/meongbego/bgin\n```\n\nTest in Running\n\n```\ngo run main.go\n```\n\nTest Build \n\n```\ngo build main.go\n```\n\nTo run production\n```\ngo run main.go -e production or ./build -e production\n```\n\n## ENVIRONMENT SETUP\n\n### LOCAL DEVELOPMENT ENV\nif using local development use .env file\n```\ncp .env.example .env\n```\nnow setup your env\n\n### PRODUCTION\nif production mode environtment setup in os env, example in your terminal execute this script\n```\nexport GIN_MODE=release\nexport APP_PORT=5000\nexport APP_HOST=0.0.0.0\nexport DB_HOST=roach1\nexport DB_PORT=26257\nexport DB_NAME=bgin\nexport DB_USER=root\nexport DB_PASSWORD=\nexport ACL_ADDR=172.19.0.0/24\nexport REDIS_HOST=rdcaches\nexport REDIS_PORT=6379\nexport KAFKA_HOST_PORT=localhost:9092\n```\nif your production dockerizing see docker-compose.yml to export environtment\n\n\n## PACKAGE\nActivate and deactivate available packages see on app/moduls/package, see the example on main.go\n```\nmain.go\n\nlook at this line:\n\ndb.Conn = db.Init()\ndb.MigrateScheme(db.Conn)\nredis.Store = redis.Init()\n```\n\nPackage:\n1. kafka\n2. elasticsearch\n3. etcd\n4. database (cockroachdb)\n5. redis\n\n## DATABASE SCHEME AN IMPORTED TABLE\nto create a database schema look at the app/moduls/migration/ folder then edit the schem.go file\n\n```\napp/moduls/migration/scheme.go\n\nlook at this line:\n\ndb.AutoMigrate (\u0026 LoginScheme {}, \u0026 Userdata {})\n```\n## CONTROLLER\nto create a controller schema look at the app/controller/api folder\n\n```\napp/controller/api\n```\n\n## ROUTES\nto create route in look at app/controller folder then edit routes.go\n```\napp/controller/routes.go\n\nlook at this line:\n\napi := router.Group(\"api\")\n{\n    ping := new(controller.PingController)\n    health := new(controller.HealthController)\n    login := new(controller.LoginController)\n    // create rest api models\n    api.GET(\"/ping\", ping.Status)\n    api.GET(\"/health\", health.Status)\n    api.POST(\"/login\", login.LoginUsers)\n    api.GET(\"/login/list\", login.ListLogin)\n}\n```\n\n## MODELS\nto create a models look at the app/models folder\n\n```\napp/models/\n```\nsee loginModels.go for examples\n\n\n## DEVELOPMENT MODE\n\nTo activate Live Reload install air \n### on macOS\n\n```\ncurl -fLo /usr/local/bin/air \\\n    https://raw.githubusercontent.com/cosmtrek/air/master/bin/darwin/air\nchmod +x /usr/local/bin/air\n```\n\n### on Linux\n\n```\ncurl -fLo /usr/local/bin/air \\\n    https://raw.githubusercontent.com/cosmtrek/air/master/bin/linux/air\nchmod +x /usr/local/bin/air\n```\n\n### on Windows\n\n```\ncurl -fLo ~/air.exe \\\n    https://raw.githubusercontent.com/cosmtrek/air/master/bin/windows/air.exe\n```\n\nsee watcher.conf setting watcher file for air config now\n\n### Starting\ngo to your project path\n```\nair -c watcher.conf\n```\n\n## DOCKERIZING\nif you dockerizing this project follow this step\n\n```\ndocker build -t your_tagging .\n```\n\nthen see docker-compose.yml edit file for your configuration and install docker-compose for execute this script\n\n```\nversion: '3'\nservices:\n  rdcaches:\n    image: redis\n    command: [\"redis-server\"]\n    ports:\n      - \"6379:6379\"\n\n  roach1:\n    image: cockroachdb/cockroach\n    command: start --insecure\n    ports:\n      - \"26257:26257\"\n      - \"8080:8080\"\n    volumes:\n      - ./cockroach-data/roach1:/cockroach/cockroach-data\n\n  roach2:\n    image: cockroachdb/cockroach\n    command: start --insecure --join=roach1\n    volumes:\n      - ./cockroach-data/roach2:/cockroach/cockroach-data\n    links:\n      - roach1\n  \n  bgin:\n    image: your_tagging\n    ports:\n      - \"6968:5000\"\n    environment:\n      - GIN_MODE=release\n      - APP_PORT=5000\n      - APP_HOST=0.0.0.0\n      - DB_HOST=roach1\n      - DB_PORT=26257\n      - DB_NAME=bgin\n      - DB_USER=root\n      - DB_PASSWORD=\n      - ACL_ADDR=172.19.0.0/24\n      - REDIS_HOST=rdcaches\n      - REDIS_PORT=6379\n    command: ./main -e production\n    links:\n      - roach1\n      - rdcaches\n```\n\nthen start compose\n\n```\ndocker-compose up\n```\n\nstop container\n```\ndocker-compose stop; docker-compose rm -f\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofyan48%2Fbgin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsofyan48%2Fbgin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofyan48%2Fbgin/lists"}