{"repo":"xiaoxu123195/GinForge","free":true,"listed":false,"github":"https://github.com/xiaoxu123195/GinForge","clone":"git clone https://github.com/xiaoxu123195/GinForge.git","description":"Gin + Go 高性能后端脚手架：模块化、配置化、开箱即用","language":"Go","stars":11,"topics":["gin","go","gorm","jwt","mysql","redis"],"license":"MIT","category":"databases-storage","readme_excerpt":"🚀 GinForge - Go Gin Web Framework 🔥 基于 Gin 框架的企业级 Web 开发脚手架 快速开始 • 项目架构 • 核心功能 • API 文档 • 部署指南 --- 📖 项目简介 GinForge 是一个基于 Go 语言 Gin 框架构建的企业级 Web 开发脚手架，集成了现代 Web 应用开发所需的核心组件和最佳实践。 🎯 核心特性 - 🏗️ 分层架构 - 清晰的 MVC 架构，易于维护和扩展 - 🔐 JWT 认证 - 基于 JSON Web Token 的用户认证系统 - 🛡️ 中间件系统 - 权限验证、限流、日志等中间件支持 - 🗄️ 数据库集成 - GORM ORM 支持 MySQL、PostgreSQL、SQLite - 🔥 缓存系统 - Redis 缓存集成，提升应用性能 - 📁 文件上传 - 支持图片等多种文件类型上传 - 🎨 图片验证码 - 内置验证码生成和验证功能 - ⚙️ 配置管理 - YAML 配置文件，支持多环境配置 - 📊 日志系统 - 基于 Logrus 的结构化日志记录 - 🖥️ CLI 工具 - 内置命令行工具，支持用户管理等操作 --- 🏗️ 项目架构 📁 目录结构 🔄 架构图 --- 🚀 快速开始 🔧 环境要求 - Go : 1.18+ - MySQL : 8.0+ - Redis : 5.0+ - Docker : 20.10+ (可选) 📦 安装步骤 1. 🛠️ 克隆项目 2. ⚙️ 配置数据库 3. 🔨 编译运行 4. 🐳 Docker 部署 (推荐) 🌐 访问地址 - Web 应用 : http://localhost - API 服务 : http://localhost/api - API 文档 : http://localhost/api/docs (如果启用 Swagger) --- ⚡ 核心功能 🔐 JWT 认证系统 📋 功能特性 - 基于 HS256 算法的 JWT 令牌生成和验证 - 支持令牌过期时间和签发人配置 - Redis 黑名单机制，支持令牌注销 - 角色权限控制（管理员/普通用户） 🔧 使用示例 📝 API 调用 🛡️ 中间件系统 🔧 内置中间件 中间件 功能 用途 -------- ------ ------ AuthMiddleware JWT 认证 验证用户登录状态 AdminMiddleware 管理员权限 验证管理员权限 LimitMiddleware 请求限流 防止接口滥用 BindJsonMiddleware JSON 绑定 绑定 JSON 请求体 BindQueryMiddleware 查询参数绑定 绑定 URL 查询参数 📝 使用示例 🎨 图片验证码 🔧 功能特性 - 基于 Base64 编码的图片验证码 - 支持自定义验证码长度和复杂度 - 验证码有效期控制 - 防机器人验证机制 📝 API 接口 📁 文件上传 🔧 功能特性 - 支持图片等多种文件类型 - 文件大小限制（默认 2MB） - 文件类型验证 - 自动生成唯一文件名 - 支持本地存储和云存储 📝 API 接口 🖥️ CLI 工具 🔧 内置命令 命令 功能 示例 ------ ------ ------ run 启动 Web 服务 ./main run migrate 数据库迁移 ./main migrate user create 创建用户 ./main user create user li","default_branch":null,"files":null,"tree":[],"storefront":"/r/xiaoxu123195","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/xiaoxu123195/GinForge/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."}