book-manager-system是一款用于图书管理的中后台系统。系统初始化极度简单,只需要配置文件中,修改数据库连接,可以使用docker一键部署应用
- 遵循 RESTful API 设计规范
- 基于 ECHO WEB API 框架,提供了丰富的中间件支持(用户认证、访问日志等)
- 基于Casbin的 RBAC 访问控制模型
- JWT 认证
- 支持 Swagger 文档(基于swaggo)
- 基于 GORM 的数据库存储
- 配置文件简单的模型映射,快速能够得到想要的配置
- TODO: 单元测试
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 参数管理:对系统动态配置常用参数。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 接口文档:根据业务代码自动生成相关的api接口文档。
- 定时任务:自动化任务,目前支持接口调用和函数调用。
- 邮件通知:可以配置邮件,不会错过任何信息。
你需要在本地安装 [go] [mysql] [redis] node 和 git
go 1.18
node版本: v16.17.0
npm版本: 8.15.0
redis版本:6.0.6
# 创建开发目录
mkdir bookManagerSystem
cd bookManagerSystem
# 获取后端代码
git clone https://github.com/caichuanwang/bookManagerSystem.git
# 获取前端代码
git clone https://github.com/caichuanwang/bms-fe.git
# 进入 bookManagerSystem 后端项目
cd ./bookManagerSystem
# 更新整理依赖
go mod tidy
# 编译项目
go build
# 修改配置
# 文件路径 bookManagerSystem/app.conf
vi bookManagerSystem/app.conf
:::tip
E:\bookManagerSystem>go build
# github.com/mattn/go-sqlite3
cgo: exec /missing-cc: exec: "/missing-cc": file does not exist
or
D:\Code\bookManagerSystem>go build
# github.com/mattn/go-sqlite3
cgo: exec gcc: exec: "gcc": executable file not found in %PATH%
:::
# 首次配置需要初始化数据库资源信息
book_management_system.sql
# 编译镜像
docker build -t bookManagementSystem .
# 启动容器,第一个bookManagementSystem是容器名字,第二个bookManagementSystem是镜像名称
# -v 映射配置文件 本地路径:容器路径
docker run --name bookManagementSystem -p 8888:8888 -v /app.conf:/app.conf -d bookManagementSystem
swag init
# windows
env GOOS=windows GOARCH=amd64 go build main.go
# or
# linux
env GOOS=linux GOARCH=amd64 go build main.go
# 安装依赖
yarn install
# 启动服务
yarn start
Copyright (c) 2022 caichuanwang


