{"repo":"eddycjy/go-gin-example","free":true,"listed":false,"github":"https://github.com/eddycjy/go-gin-example","clone":"git clone https://github.com/eddycjy/go-gin-example.git","description":"An example of gin","language":"Go","stars":7196,"topics":["golang","gin","jwt","swagger","gorm","endless","api","go"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Go Gin Example - Blog API A production-ready RESTful blog API example built with Go and Gin framework, demonstrating real-world patterns and best practices. 简体中文 Project Overview This project is a comprehensive blog backend API system that provides complete article and tag management functionalities, along with features like JWT authentication, image upload, QR code generation, and Excel import/export. Tech Stack Category Technology ---------- ------------ Language Go Web Framework Gin ORM GORM Database MySQL Cache Redis (via Redigo) Authentication JWT (jwt-go) Configuration go-ini API Documentation Swagger Excel Processing excelize, xlsx Image Processing freetype, barcode Validation beego/validation Project Structure Architecture The project follows a layered architecture pattern: Feature Tree API Endpoints Public Endpoints Method Endpoint Description -------- ---------- ------------- POST /auth User authentication, returns JWT token GET /swagger/ any Swagger API documentation POST /upload Image upload POST /tags/export Export tags to Excel POST /tags/import Import tags from Excel Protected Endpoints (Require JWT Token) Tags Method Endpoint Description -------- ---------- ------------- GET /api/v1/tags Get tag list (paginated) POST /api/v1/tags Create new tag PUT /api/v1/tags/:id Update tag by ID DELETE /api/v1/tags/:id Delete tag by ID Articles Method Endpoint Description -------- ---------- ------------- GET /api/v1/articles Get article list (paginated) GET /api/v1/article","default_branch":null,"files":null,"tree":[],"storefront":"/r/eddycjy","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/eddycjy/go-gin-example/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."}