论坛系统

论坛地址:http://cywloveyou.top

Gitee地址:https://gitee.com/cywloveyou/my-forum-opened

前言:

2020年经历了好多,失去一些东西的同时也获得了很多以前不曾拥有的…具体情感生活抛开不讲
半年前接触ssm框架,弄得我死去活来,自己捣鼓了一个购车项目,不过电脑坏了就丢了,就再来个初恋项目吧…
近来无聊,想做一个小型类似于csdn功能的博客新系统,说干就干,卡忙北鼻…

大体介绍

1.前端技术栈

  • JS框架:JQuery,AJAX

  • CSS框架:Semantic UI官网

  • Markdown编辑器:编辑器 Markdown

  • 照片墙:lightbox插件

  • 代码高亮:代码高亮 prism

  • 动画效果:动画 animate.css

  • 看板娘,灯笼和雪花效果

2.后端技术栈

  • JDK版本: JDK1.8
  • 核心框架:SpringBoot 2.2.5
  • 邮件任务: springboot的邮件任务
  • 消息中间件: RabbitMQ
  • 安全框架: shiro 1.1.4
  • 项目构建:Maven 3.5.2
  • 持久层框架:Mybatis
  • 模板引擎:Thymeleaf
  • 分页插件:PageHelper
  • 加密:MD5加密
  • 插件: lombok
  • 缓存: redis 6.0.9

3.数据库

  • 关系型数据库: mysql 5.7
  • 非关系型数据库: redis 6.0.9

运行环境

  • 阿里云centos7.4

整个技术栈大体是这些

功能需求

  • 此项目分为 游客,普通用户,管理员
  • 这里就根据这三个角色来分别讲述功能需求

1.路人

  • 访问网站可以查看论坛基本信息
  • 查看文章信息:文章列表、推荐文章、文章标题、文章内容、发布时间、访问量以及评论等信息
  • 查看分类文章:分类列表、分类文章信息
  • 查看时间轴:按照文章时间发布顺序查看文章
  • 搜索文章:导航栏右边搜索框根据关键字搜索
  • 多人聊天:留言并回复
  • 查看友情链接,广告栏
  • 查看表白墙,可以推荐自己,找对象(虽然没多少用户)
  • 查看相册信息:相册列表、照片名称、照片拍摄地点、时间、照片描述
  • 查看关于本站的一些信息,我就是我,一个管理员,哈哈
  • 查看音乐盒,听音乐(在网上直接找的插件,为了好玩)
  • 点赞功能,查看访问量,文章数,点赞量,评论数,总用户
    量(使用redis实现)
  • 查看发帖子用户的详细信息
  • 注册功能,注册完之后会给你发邮件,通知注册成功,账号只有一个,注册完不可修改,作为登录的唯一标识

2.普通用户

  • 游客是注册过了才成为普通用户,具有游客的一切权限

  • 登录功能:登录成功之后会跳转到用户后台,如果登录失败,会根据情况来判断原因是用户名不存在还是密码错误,来反馈给用户,如果登录失败三次及以上,账号就会被锁定一分钟(这里是shiro+redis实现)

  • 邮箱登录:如果忘记密码可以选择邮箱登录,输入当时注册的邮箱,可以接收到验证码,输入正确即可登录成功(rabbitmq+邮件任务,实现异步发送验证码)

  • 评论功能,进入别人发的文章可以进行评论

    后台如下

  • 查看个人的信息(账号,昵称,邮箱,空间生日,发表文章数,头像)

  • 发表文章:普通用户登录成功之后,即可发表文章.

  • 查看自己发表过的文章

  • 修改个人信息:修改昵称,邮箱,密码,头像等,但是账号仅有一个,一旦注册不可修改

  • 切换账号,如果有其他的账号可以进行切换

  • 注销功能:登录成功之后可以注销

3.管理员(重头戏)

  • 拥有路人的所有权限
  • 拥有普通用户所有功能权限
  • 登录:可进入登录页面,根据数据库的用户名和密码进行登录,仅有一个管理员,那就是本人,如果再次添加管理员,则直接在数据库中添加
  • 文章管理:查询文章列表、新增文章、编辑文章、删除文章、搜索文章
  • 分类管理:查询分类列表、新增分类、编辑分类、删除分类
  • 相册管理:查询相册列表、新增照片、编辑照片、删除照片
  • 消息管理:登录后回复评论留言会显示栈主的头像信息,并能显示删除消息按键,可以对消息进行删除
  • 用户管理: 查询所有注册过的用户,修改用户信息(密码和账号均不能改),删除用户(踢出栈),设置用户权限为管理员.
  • 广告管理:添加广告,修改广告,删除广告
  • 友链管理:添加友链,删除友链,修改友链
  • 修改个人信息:账号,密码,邮箱,头像,昵称等

下一章讲解数据库设计,请看下回分解

点这数据库设计

springboot项目系列-论坛系统01介绍技术栈相关推荐

  1. springboot项目系列-论坛系统04登录注册实现

    springboot项目系列-论坛系统04登录注册实现 论坛地址:http://www.cywloveyou.top 注册(使用AJAX,邮件任务,RabbitMQ) 首先跳转到注册页面,进行注册,跳 ...

  2. springboot项目系列-论坛系统05全局异常处理+日志处理+MD5加密

    springboot项目系列-论坛系统05全局异常处理+日志处理使用了spring的AOP 论坛地址:http://www.cywloveyou.top 配置日志 logging:level:root ...

  3. springboot项目系列-论坛系统06整合rabbitmq实现异步发邮件

    springboot项目系列-博客系统06整合rabbitmq实现异步发邮件 今天突发奇想,既然会了rabbitmq为何不用,之前的注册发邮件功能是使用springboot的异步任务做的,但是想想以后 ...

  4. 基于Springboot的社区论坛系统(源代码+数据库)055

    部分代码地址 https://gitee.com/ynwynwy/forum-public 基于Springboot的社区论坛系统(源代码+数据库) 一.系统介绍 前台: 话题列表,搜索话题,发布话题 ...

  5. StoneDT开源舆情系统大数据技术栈介绍

    我们目前开源的 舆情系统 分为3个部分,整个系统使用了多种开源技术组件和开源框架,涵盖涉及技术领域广泛,例如:分布式计算.大数据.人工智能.数据中台.数据挖掘.深度学习.java和python的大量实 ...

  6. SpringBoot + VUE BBS论坛系统

    BBS论坛 项目源代码见文章结尾 项目介绍 BBS论坛系统是一套前后端分离的开源社区系统,基于目前主流的前端框架VUE + 后端SpringBoot + MyBatis-plus + MySQL等,其 ...

  7. 关于webservice服务在springboot项目中的开发的介绍

    在springboot项目中搭建webservice服务端及使用客户端进行请求的介绍 一.引包 二.搭建webservice服务 (一)使用CXF搭建webservice服务 (二)webservic ...

  8. 微服务介绍及Asp.net Core实战项目系列之微服务介绍

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 一.微服务选型 在做微服务架构的技术选型的时候,以"无侵入"和"社区活跃"为主要的考量点, ...

  9. 自行走机器人系统常用的技术栈

    前言 由于就职于一家AI机器人及工业检测相关的公司,就对当前相关联的技术栈有一个大致的了解.本人是Java后端服务开发岗,之前互联网公司经历,但对机器人这块比较好奇,所有只做了相关的了解. 基础技术栈 ...

最新文章

  1. MySQL数据库root账户密码忘记两种处理方法转载
  2. python boolean_Python成为专业人士笔记-Boolean 布尔操作符研究
  3. rails i18n模型_Rails国际化的完整指南(i18n)
  4. 关于“WARN: SQL Error: 1366, SQLState: HY000”错误的解决方案
  5. 怎样组建云计算机,如何搭建云计算平台_搭建云计算平台步骤
  6. python动态爱心代码_python 动态绘制爱心的示例
  7. Window部分软件图标显示不正常
  8. Qt与flash交互实现(播放Flash动画)
  9. A-level成绩BBB能申英国哪些大学?
  10. codeforces #630 F. Selection of Personnel
  11. 解决电脑右键菜单反应慢问题
  12. 计算机裸机的功能,计算机中裸机是指什么
  13. 前端工程师的摸鱼日常(2)
  14. 前端学习笔记(注册页面综合案例html5)
  15. win10安装wifi网卡驱动显示“这个 INF 中的服务安装段落无效“
  16. 了解iPhone OS框架
  17. 遍历操作__getitem__
  18. 【Java基础系列教程】第二章 Java语言概述、配置环境变量
  19. SendFax过程分析
  20. Unity读写飞控参数mavlink

热门文章

  1. Monospace/Fixed Width Programmer's Fonts
  2. Matlab:使用纬度和经度数据创建地图
  3. Xilinx zynq系列pcie xdma通信(二):下位机PS端
  4. 如何通过7个步骤编写出色的在线用户手册
  5. 大一新生学习Java的初次露面,怂的一批
  6. Unity3d连接SQLServer数据库
  7. 高超声速飞行器的反步法控制
  8. IDEA 导入旧(带WebRoot目录)的非MAVEN项目配置教程
  9. 相机标定 和 单应性矩阵H
  10. 动态实现全国疫情地图