Skip to content
 
 

Repository files navigation

Nacr 轻量化论坛系统

一款现代化、轻量级的开源社区论坛系统

License Node.js Vue Nuxt

演示地址

如果这个项目对你有帮助,请给个 ⭐️ Star 支持一下!

因为是前后端分离架构,需要分别部署前端和后端服务,若您没有部署经验,可直接联系我帮忙搭建!

如果您有兴趣参与项目开发,欢迎联系我一起参与开发!若您有任何指点和改正意见,也欢迎提出!我们一起学习进步!

这是初始第一版,可能存在很多BUG,欢迎提交反馈,我会在空闲时间进行优化更新

赞赏


📌 项目简介

Nacr 是采用前后端分离架构打造的全新轻量化论坛系统,界面简洁美观,性能卓越。基于 Fastify + Nuxt3 技术栈构建,提供完整的社区论坛解决方案,适用于个人博客、企业社区、技术论坛等多种场景。

核心特性

  • 🎨 现代化 UI - 精美的界面设计,简洁清爽的用户体验
  • 高性能架构 - Fastify 驱动的后端 + Nuxt3 前端,极致性能
  • 🔐 完善的安全体系 - JWT 身份认证、权限管理、数据加密
  • 💳 支付系统 - 集成支付宝等多种支付方式
  • 📊 数据统计 - 丰富的后台数据可视化分析
  • 📧 邮件服务 - 完善的邮件通知和验证功能
  • 🔄 缓存优化 - Redis 缓存提升系统响应速度
  • 📱 响应式设计 - 完美适配 PC 和移动端

🎬 界面展示

前台论坛

前台界面

后台管理

数据统计 用户管理 内容管理 系统设置 其他功能


🚀 功能特性

用户端功能

  • 👤 用户注册/登录(支持邮箱验证码、微信小程序)
  • 📝 帖子发布/编辑/删除
  • 💬 评论互动、点赞功能
  • 👥 关注用户、私信系统
  • 📅 签到系统、积分奖励
  • 💳 会员充值、订单管理
  • 💰 积分转账、余额提现
  • 🔔 个人消息通知
  • 🔍 内容搜索、分类浏览

管理端功能

  • 📊 数据统计与趋势分析
  • 👥 用户管理与用户组设置
  • 📰 公告管理、轮播图配置
  • 📂 分类管理、内容审核
  • 💸 支付方式配置、订单管理
  • 🎨 站点设置、导航管理
  • 📧 邮件模板配置
  • 🎁 活动管理、营销工具
  • ⚙️ 系统配置与权限管理

🛠️ 技术栈

后端技术

技术 说明
Node.js 运行时环境
Fastify 高性能 Web 框架
MySQL 关系型数据库
Redis 缓存数据库
Socket.io 实时通讯
Nodemailer 邮件服务
JWT 身份认证
Axios HTTP 请求

前端技术

技术 说明
Nuxt 3 Vue 3 服务端渲染框架
Vue 3 前端框架
Arco Design UI 组件库
Pinia 状态管理
Monaco Editor 代码编辑器
WangEditor 富文本编辑器
ECharts 数据可视化

📦 快速开始

环境要求

  • Node.js >= 18.0.0
  • MySQL >= 5.7
  • Redis >= 6.0
  • npm >= 9.0.0

安装步骤

1. 克隆项目

git clone https://github.com/your-repo/nacrbbs.git
cd nacrbbs

2. 安装依赖

# 后端依赖
npm install

# 前端依赖
cd web/client
npm install

cd ../admin
npm install

3. 数据库配置

创建 MySQL 数据库并导入 c_deft.sql 文件:

配置数据库连接(修改 app/config/database.json):

{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "your_password",
  "database": "nacr_forum"
}

4. Redis 配置

配置 Redis 连接(修改 app/config/redis.json):

{
  "host": "localhost",
  "port": 6379,
  "password": "",
  "db": 0
}

5. 启动后端服务

node index.js

后端服务默认运行在 http://localhost:3000

6. 启动前端服务

# 启动前台
cd web/client
npm run dev

# 启动后台(新终端)
cd web/admin
npm run dev

前台访问:http://localhost:3001
后台访问:http://localhost:3002
默认后台账号:admin / 密码:123456


📁 项目结构

nacrbbs/
├── app/                    # 后端核心代码
│   ├── config/            # 配置文件
│   ├── controller/        # 控制器层
│   │   ├── Admin/        # 管理员接口
│   │   ├── user/         # 用户接口
│   │   └── tourist/      # 游客接口
│   ├── imp/              # 核心实现
│   ├── library/          # 第三方库封装
│   ├── router/           # 路由定义
│   ├── safety/           # 安全中间件
│   └── scheduledTask/    # 定时任务
├── web/                   # 前端代码
│   ├── client/           # 前台用户端
│   └── admin/            # 后台管理端
├── public/               # 静态资源
├── c_deft.sql           # 数据库初始化脚本
└── index.js             # 后端入口文件

🔧 配置说明

邮件配置

在管理后台配置 SMTP 邮件服务器信息,用于发送验证码和通知邮件。

支付配置

系统支持多种支付方式,需要在管理后台配置支付接口信息。


🤝 贡献指南

欢迎贡献代码!请遵循以下步骤:

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 开源协议

本项目采用 MIT 协议开源


About

Nacr 是采用前后端分离架构打造的全新轻量化论坛系统,界面简洁美观,性能卓越。基于 Fastify + Nuxt3 技术栈构建,提供完整的社区论坛解决方案,适用于个人博客、企业社区、技术论坛等多种场景。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages