1.项目介绍
基于Go语言和gin框架开发的个人博客系统,该项目可以帮助你的golang应用快速实现前端和后端系统。
aiwen-gin-blog是一个基于go语言和gin框架开发的前端和后台管理系统,集成动态路由,日志,文件配置加载,鉴权等功能,让您把更多时间专注在业务开发上。
2.技术选型
- 前端:用基于
layui
构建基础页面。 - 后端:用
Gin
快速搭建基础restful风格API,Gin
是一个go语言编写的Web框架。 - 数据库:采用
MySQL
,使用gorm
实现对数据库的基本操作。 - 缓存:使用
Redis
实现记录Session登录限制。 - 配置文件:使用
fsnotify
和viper
实现yaml
格式的配置文件。 - 日志:使用
zap日志库
实现日志记录。
3.项目架构
3.1 系统架构图
3.2 目录结构
.
├── conf (配置文件)
│ └── config.yaml
├── controller(控制类)
│ ├── admin.go
│ ├── auth.go
│ ├── base.go
│ ├── blog.go
│ └── controller.go
├── dao (数据库连接)
│ └── mysql.go
├── log(日志文件)
├── logger(zap logger工具类)
│ └── logger.go
├── main.go (入口文件)
├── models(GORM 访问数据库)
│ ├── base.go
│ ├── category.go
│ ├── comment.go
│ ├── config.go
│ ├── post.go
│ ├── response.go
│ └── user.go
├── routers (路由)
│ └── routers.go
├── settings (文件配置管理)
│ └── settings.go
├── static (静态文件)
├── templates(页面文件)
└── util(工具类)
├── RediStore.go
├── SessionStore.go
├── functions.go
├── localtime.go
└── pager.go
4.类图设计
5.UML时序图设计
6. 项目实战
6.1 创建数据库
CREATE DATABASE IF NOT EXISTS aiwen_gin_blog;
6.2 初始化数据
- 通过用户名和密码登录
$ mysql -uroot -p12345678
- 切换数据库
mysql> use aiwen_gin_blog;
- 初始化数据
mysql>source /Users/zhengwenjie/gopath/src/aiwen-gin-blog/aiwen_gin_blog.sql
6.3 服务器启动
6.4 服务登录
6.4.1 后端管理系统
6.4.2 前端门户网站
6.5 代码实战操作
视频课程:基于gin框架的Go Web开发项目实战【共90课时】_Go语言课程-51CTO学堂
接下来,带领大家0-1实战操作,来完成Go项目开发。