# eddycjy/go-gin-example

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/eddycjy-go-gin-example).**

7,193 stars · 1,627 forks · Go · MIT

## Links

- GitHub: https://github.com/eddycjy/go-gin-example
- awesome-repositories: https://awesome-repositories.com/repository/eddycjy-go-gin-example.md

## Topics

`api` `endless` `gin` `go` `golang` `gorm` `jwt` `swagger`

## Description

This project is a reference implementation and boilerplate for building RESTful services using the Gin web framework in Go. It provides a structured backend architecture featuring modular routing and middleware to serve as a template for Go web applications.

The project distinguishes itself through a comprehensive set of integrated systems, including a security layer for user authentication and private endpoint protection using JSON Web Tokens. It also implements a high-speed memory storage layer via Redis to cache frequent database queries and a containerized runtime environment for consistent deployment.

The codebase covers a wide range of functional areas, including a content management system for blog articles and tags, an image processing pipeline for uploads and QR code poster generation, and data exchange utilities for importing and exporting information via spreadsheets. It also incorporates data persistence strategies such as paginated retrieval and soft-delete record tracking.

## Tags

### Web Development

- [REST API Backends](https://awesome-repositories.com/f/web-development/rest-api-backends.md) — Implements a structured server-side backend that exposes RESTful endpoints to handle business logic. ([source](https://github.com/eddycjy/go-gin-example/tree/master/conf))
- [RESTful API Development](https://awesome-repositories.com/f/web-development/restful-api-development.md) — Provides a structured backend architecture using the Gin framework to serve data through standard RESTful patterns.
- [Protected Endpoints](https://awesome-repositories.com/f/web-development/custom-api-endpoints/endpoint-specification/service-endpoints/protected-endpoints.md) — Restricts access to private data and functions by verifying user identity tokens at the endpoint level. ([source](https://github.com/eddycjy/go-gin-example/blob/master/README.md))
- [Reference Boilerplates](https://awesome-repositories.com/f/web-development/restful-api-frameworks/reference-boilerplates.md) — Serves as a reference implementation and boilerplate for building RESTful services using the Gin framework.
- [Containerized Runtimes](https://awesome-repositories.com/f/web-development/go-web-applications/containerized-runtimes.md) — Provides a containerized runtime environment that packages the Go binary and dependencies into a portable image.

### Content Management & Publishing

- [Blog Content Management](https://awesome-repositories.com/f/content-management-publishing/blog-content-management.md) — Includes a system for organizing, editing, and maintaining blog posts with support for tags and categories. ([source](https://github.com/eddycjy/go-gin-example/blob/master/README.md))
- [Content Tagging Systems](https://awesome-repositories.com/f/content-management-publishing/content-tagging-systems.md) — Enables the creation and organization of descriptive tags for content categorization and discovery. ([source](https://github.com/EDDYCJY/go-gin-example/blob/master/README_ZH.md))

### DevOps & Infrastructure

- [Handler Route Mapping](https://awesome-repositories.com/f/devops-infrastructure/rest-api-endpoint-management/handler-route-mapping.md) — Maps HTTP methods and URL paths to specific handler functions for structured data exchange.
- [Application Runtime Containers](https://awesome-repositories.com/f/devops-infrastructure/application-runtime-containers.md) — Packages the application binary and its environment into portable container images for consistent deployment.
- [Caching Layers](https://awesome-repositories.com/f/devops-infrastructure/caching-layers.md) — Implements a caching layer to store frequently accessed data and reduce primary database load. ([source](https://github.com/eddycjy/go-gin-example#readme))
- [Application Containerization](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/application-containerizers/application-containerization.md) — Packages the Go application and its runtime dependencies into a portable container image for consistent deployment. ([source](https://github.com/eddycjy/go-gin-example/blob/master/Dockerfile))
- [Containerized Application Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-application-deployments.md) — Enables deployment of the application environment using portable container images across different systems.

### Security & Cryptography

- [JWT Format Tokens](https://awesome-repositories.com/f/security-cryptography/access-tokens/jwt-format-tokens.md) — Generates and validates time-limited JSON Web Tokens to maintain secure session access. ([source](https://github.com/EDDYCJY/go-gin-example/blob/master/README_ZH.md))
- [JWT Authentication](https://awesome-repositories.com/f/security-cryptography/jwt-authentication.md) — Implements a security layer for verifying user identities using JSON Web Tokens.
- [Request Authentication Middleware](https://awesome-repositories.com/f/security-cryptography/request-authentication-middleware.md) — Implements middleware that intercepts requests to validate security tokens before allowing access to protected routes.
- [User Authentication Systems](https://awesome-repositories.com/f/security-cryptography/user-authentication-systems.md) — Provides a system for verifying user credentials and issuing secure tokens to protect private endpoints. ([source](https://github.com/eddycjy/go-gin-example#readme))
- [User Authentication Workflows](https://awesome-repositories.com/f/security-cryptography/user-authentication-workflows.md) — Implements secure login workflows that issue and validate access tokens to protect private endpoints.

### Software Engineering & Architecture

- [Go Project Templates](https://awesome-repositories.com/f/software-engineering-architecture/enterprise-architectures/production-grade-templates/go-project-templates.md) — Provides a production-ready project template for Go applications with structured routing and middleware.

### Data & Databases

- [API Response Caching](https://awesome-repositories.com/f/data-databases/api-response-caching.md) — Provides caching mechanisms for API endpoint responses to reduce primary database load and improve performance.
- [In-Memory Caches](https://awesome-repositories.com/f/data-databases/in-memory-caches.md) — Uses a Redis-based memory layer to cache frequent database queries and improve response times.
- [Redis Caching Layers](https://awesome-repositories.com/f/data-databases/redis-caching-layers.md) — Utilizes Redis as a high-speed memory layer to cache frequent database queries.

### Graphics & Multimedia

- [Image Processing Pipelines](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/image-processing-pipelines.md) — Implements a workflow for validating image uploads and generating composite posters with scannable QR codes.
