- ✅ 用户系统 - 注册登录、个人主页、用户关注/粉丝系统、个人资料管理
- ✅ 内容管理 - Markdown 编辑器、文章发布编辑、分类标签管理、作品展示(开源项目/摄影作品)
- ✅ 社交互动 - 评论系统(支持回复)、点赞、收藏、实时通知、用户关注
- ✅ 内容发现 - 热门文章排名、推荐文章/作品、分类浏览、标签筛选、搜索功能
- ✅ 作品展示 - 支持开源项目和摄影作品两种类型,摄影作品支持相册管理和EXIF信息
- ✅ 扩展功能 - 友情链接管理、文件上传/附件管理、访问统计
- ✅ 管理后台 - 完整的后台管理系统,包括:
- 内容管理:文章、作品、分类、标签、评论审核
- 用户管理:用户列表、权限管理、状态控制
- 系统配置:首页轮播图、系统参数设置、主题风格
- 广告管理:广告位管理、广告内容管理、广告投放
- 友链管理:友情链接的增删改查
- ✅ 定时任务 - 独立的调度器服务,自动处理热门文章统计、数据更新等后台任务
首页 - 沉浸式阅读体验 |
首页 - 现代化 UI 设计 |
文章详情 - Markdown 渲染与目录 |
互动区域 - 评论与社交功能 |
内容发现 - 分类与标签筛选 |
作品集 - 项目与摄影展示 |
个人中心 - 数据统计与管理 |
管理后台 - 内容与系统管理 |
- 🎯 开箱即用 - 完整的博客系统,无需从零开始搭建
- 🚀 快速部署 - Docker Compose 一键启动,几分钟即可上线
- 🎨 现代化 UI - 基于 Vue 3 和 Element Plus,界面美观易用
- 🔧 易于扩展 - 清晰的代码结构,方便二次开发和定制
- 📱 功能完整 - 从内容管理到社交互动,满足个人博客的所有需求
- Go 1.21+
- Node.js 18+ (推荐使用 pnpm)
- Docker & Docker Compose (用于数据库)
- MySQL 8.0+ 和 Redis 7+ (或使用 Docker)
# 1. 克隆项目
git clone https://github.com/your-username/inkspace.git
cd inkspace
# 2. 启动数据库服务
docker-compose up -d mysql redis
# 3. 配置环境变量(可选)
cp env.example .env
# 编辑 .env 文件修改数据库配置
# 4. 创建你的db
CREATE DATABASE
inkspace CHARACTER SET = 'utf8mb4';
# 5. 启动后端服务
go run cmd/server/main.go # 用户服务 :8081
go run cmd/admin/main.go # 管理服务 :8083
go run cmd/scheduler/main.go # 定时任务调度器(可选)
# 6. 启动前端(新终端)
cd web/blog && pnpm install && pnpm dev # 博客前端 :3001
cd web/admin && pnpm install && pnpm dev # 管理前端 :3002访问地址:
- 博客前端: http://localhost:3001
- 管理后台: http://localhost:3002/login (admin / admin123)
使用 Docker Compose 可以快速启动所有服务,适合生产环境部署:
# 方式一:完整部署(包含 MySQL 和 Redis)
docker-compose up -d
# 方式二:使用外部数据库服务
# 你需要配置好你的MySQL和Redis
docker-compose -f docker-compose.external-db.yml up -d部署后访问:
- 博客前端: http://is.iceymoss.com(需配置 DNS)
- 管理后台: http://admin.is.iceymoss.com(需配置 DNS)
默认账号:
- 管理后台: admin / admin123
💡 详细部署步骤、DNS 配置、HTTPS 配置等请查看 部署文档
- 语言: Go 1.21+
- 框架: Gin (HTTP 路由)
- ORM: GORM (数据库操作)
- 数据库: MySQL 8.0+
- 缓存: Redis 7+
- 认证: JWT
- 框架: Vue 3 (Composition API)
- UI 库: Element Plus
- 状态管理: Pinia
- 构建工具: Vite
- 容器化: Docker + Docker Compose
- 反向代理: Nginx
- 负载均衡: Nginx Upstream
| 类型 | 数量 | 说明 |
|---|---|---|
| 数据库表 | 21张 | 完整的关系型数据库设计 |
| API 接口 | 53个 | RESTful 风格 API |
| 前端页面 | 21个 | Vue 3 + Element Plus |
| 服务模块 | 12个 | Service 层业务逻辑 |
项目支持多种配置方式,优先级从高到低:
- 环境变量 - 系统环境变量
- .env 文件 - 项目根目录下的
.env文件 - YAML 配置文件 -
config/config.yaml和config/admin.yaml
主要配置项:
- 数据库连接(MySQL)
- Redis 连接
- JWT 密钥
- 服务端口
完整配置说明请参考 env.example 文件。
inkspace/
├── cmd/ # 服务入口
│ ├── server/ # 用户服务 (8081)
│ ├── admin/ # 管理服务 (8083)
│ └── scheduler/ # 定时任务调度器
├── internal/ # 内部代码
│ ├── config/ # 配置管理
│ ├── database/ # 数据库连接和迁移
│ ├── handler/ # HTTP 处理器
│ ├── middleware/ # 中间件
│ ├── model/ # 数据模型
│ ├── router/ # 路由定义
│ └── service/ # 业务逻辑层
├── web/ # 前端项目
│ ├── blog/ # 博客前端
│ └── admin/ # 管理后台前端
├── config/ # 配置文件
├── scripts/ # 脚本文件
├── nginx/ # Nginx 配置
├── docker-compose.yml # Docker Compose 配置
├── docker-compose.external-db.yml # 使用外部数据库的 Docker Compose 配置
├── deploy/ # GitOps 部署方案(Docker + Kubernetes + Argocd)
├── gitlab-ci.yml # GitLab CI/CD 配置
└── docs/ # 项目文档
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT License 许可证。
如果这个项目对你有帮助,请给一个 ⭐ Star!
Made with ❤️ by InkSpace Team







