Categorygithub.com/nk-akun/NeighborBBS
modulepackage
0.0.0-20210302063554-9c8f64a6ab3c
Repository: https://github.com/nk-akun/neighborbbs.git
Documentation: pkg.go.dev

# README

NeighborBBS

简介

NeighborBBS 是一款论坛项目,后端基于 Go 编写,前端基于 Vue 框架编写,前端页面参考了小码哥编写的bbs-go,是本人的练手项目之一,适合用来学习和使用。

特性

  • 注册/登陆模块(用户名或邮箱登陆)
  • 设置昵称、邮箱、用户名
  • 发表动态、文章
  • 评论系统
  • 动态/文章的点赞
  • 支持浏览器 token 记住登录
  • 支持文章或评论流式获取
  • 支持 markdown 语法发表文章或评论
  • 用户资料编辑
  • 站内信
  • 文章标签管理

技术选型

  • 后端:整体使用 golang 编写,用 Gin 框架搭建 API 部分
  • 包管理:go-mod
  • 配置文件:使用 viper 实现的 yaml 格式的配置文件
  • 日志:基于 zap 实现的日志系统
  • 数据库:使用 mysql-5.7,采用 gorm 库来操作数据库
  • 前端:基于 Vue.js 编写,使用 Nuxt.js 快速构建和渲染前端

目录结构

.
├── LICENSE
├── api             (API文件夹)
├── bbs.yaml        (配置文件)
├── build.sh        (构建脚本,构建可在linux上运行的二进制文件)
├── config          (配置包)
├── logs            (日志包)
├── main.go         (main函数)
├── middleware      (中间件)
├── model           (结构体)
├── nbbs.service    (linux服务配置文件)
├── repository      (数据库层)
├── service         (服务层)
├── util            (通用工具)
├── site            (前端)
│   ├── Dockerfile  (docker文件)
│   ├── app.html    (app)
│   ├── assets      (静态文件)
│   ├── common      (通用工具)
│   ├── components        (通用组件)
│   ├── jsconfig.json     (配置)
│   ├── layouts           (布局)
│   ├── middleware        (中间件)
│   ├── nuxt.config.js    (nuxt配置)
│   ├── pages             (页面组件)
│   ├── plugins           (插件)
│   ├── start.sh          (运行脚本)
│   ├── static            (静态文件)
│   ├── store             (vuex状态管理仓)
│   └── utils             (通用工具)

安装说明

1.获取源码

git clone https://github.com/mlogclub/mlog.git

2.创建 mysql 中的数据库

在 mysql 中创建好 database,在步骤 3 中填入 database 的信息,无需创建数据表

示例:

ceate database neighborbbs;

3.修改配置

修改 bbs.yaml 文件,配置 mysql、服务端口、日志等信息

示例:

mysql:
  host: 127.0.0.1
  port: 3306
  username: root
  password: 123456
  dbname: neighborbbs

4.启动后端

如果没有 go 环境,请先安装和配置 go 环境

安装依赖

go mod download

启动服务

方式一

go run main.go

方式二

go build        #编译项目
./NeighborBBS   #执行二进制

方式三

./build.sh      #编译成linux可执行文件
#上传到linux服务器运行

5.启动前端

如果没有 npm 环境,请先安装 npm 环境

(1) 进入 site 目录下

cd site

(2) 在 nuxt.config.js 文件中配置启动端口等信息(可选项)

(3) 安装依赖

npm install

(4) 启动前端服务

npm run dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author