{"repo":"arixbit/ginblade","free":true,"listed":false,"github":"https://github.com/arixbit/ginblade","clone":"git clone https://github.com/arixbit/ginblade.git","description":"An opinionated Go backend skeleton with Gin, GORM, PostgreSQL, Redis, Asynq, Docker Compose, CI, and integration tests.","language":"Go","stars":22,"topics":["backend","gin","golang","gorm","postgresql","redis","boilerplate","go","skeleton"],"license":"MIT","category":"databases-storage","readme_excerpt":"GinBlade 中文文档 · Architecture An opinionated, runnable Go backend skeleton for services that need clear boundaries, independently deployable processes, and a delivery path that can be verified from local development through CI. Highlights - Separate API, Asynq worker, and database migration processes. - handler - service - repository application flow with explicit boundaries. - Hand-written dependency injection and centralized resource lifecycle management. - Gin, GORM, PostgreSQL, optional Redis and JWT support, and asynchronous tasks. - Multi-stage, non-root container image and a complete local Docker Compose stack. - Unit, race, integration, lint, and container smoke verification in CI. Business modules are intentionally kept minimal. The Example flow exists to show how the layers fit together, not to present a complete product or a universal architecture. Quick Start Start Postgres, Redis, migrations, the API, and the worker: Override host ports when the defaults are already in use: Stop the stack without deleting its data volumes: Structure - cmd/api : HTTP API process. - cmd/worker : Asynq worker process. - cmd/migrate : minimal GORM migration entrypoint for the example table. - config : environment loading and typed configuration values. - internal/bootstrap : process-level resource initialization and lifecycle. - internal : application wiring, routes, middleware, and example layers. - pkg : reusable infrastructure helpers, including generic JWT auth. Run Locally Run th","default_branch":null,"files":null,"tree":[],"storefront":"/r/arixbit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/arixbit/ginblade/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}