1.基于gin框架的Go Web高级实战_gin 

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 系统架构图

1.基于gin框架的Go Web高级实战_gin_021.基于gin框架的Go Web高级实战_goweb_03编辑

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

1.基于gin框架的Go Web高级实战_go_04

4.类图设计

1.基于gin框架的Go Web高级实战_gin_051.基于gin框架的Go Web高级实战_gin_06编辑

5.UML时序图设计

1.基于gin框架的Go Web高级实战_goweb_071.基于gin框架的Go Web高级实战_goweb_08编辑

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 服务器启动

1.基于gin框架的Go Web高级实战_gin_091.基于gin框架的Go Web高级实战_goweb_10编辑

6.4 服务登录

6.4.1 后端管理系统

1.基于gin框架的Go Web高级实战_goweb_111.基于gin框架的Go Web高级实战_go_12编辑

6.4.2 前端门户网站

1.基于gin框架的Go Web高级实战_gin_131.基于gin框架的Go Web高级实战_gin_14编辑

6.5 代码实战操作

视频课程:​​基于gin框架的Go Web开发项目实战【共90课时】_Go语言课程-51CTO学堂​

接下来,带领大家0-1实战操作,来完成Go项目开发。

1.基于gin框架的Go Web高级实战_go_15

1.基于gin框架的Go Web高级实战_goweb_16编辑