当前位置: 首页 > news >正文

基于SpringBoot和BootStrap的全栈论坛网站(附上源码)


耗时大约三个星期不到的时间,把这个论坛项目基本上算是完成了,做这个项目最主要的目的是熟悉SpringBoot的使用,然后通过整个项目了解了BootStrap、Thymeleaf、editor.md等等工具的使用,今天就来做一下总结


(一)项目展示


首先进入登陆页面,输入用户名和密码进入首页,也可以点击右下角注册新用户:

登陆成功后进入首页,可以看到用户发的各种问题:

点击第一个我自己发的问题:

问题标题,详细内容,标签都存在,右侧相关问题是根据发布问题时所选标签进行匹配,底部可以留言:

进入个人中心可以看到我的问题和我的消息

点击消息后未读标志消失,问题发布使用editor.md文本框,可输入富文本

整个博客的所有功能基本上就是这一些,在文末会附上源代码。


(二)项目如何跑起来


项目采用idea开发,jdk版本1.8,数据库使用mysql,整个项目一共建了四张表,因此你也需要建这四张表,建表语句我都放在了readme.md中

create database myblog;
use myblog;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `password` varchar(45) NOT NULL,
  `token` varchar(45) NOT NULL,
  `headpic` varchar(1024) NOT NULL DEFAULT 'https://gitee.com/lyucoding/java-starter/raw/main/images/GitHub.png',
  PRIMARY KEY (`id`)
);
CREATE TABLE `question` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(50) NOT NULL,
  `description` text NOT NULL,
  `createid` int(11) NOT NULL,
  `comment_count` int(11) NOT NULL DEFAULT '0',
  `view_count` int(11) NOT NULL DEFAULT '0',
  `like_count` int(11) NOT NULL DEFAULT '0',
  `tag` varchar(250) NOT NULL,
  `createtime` bigint(20) NOT NULL,
  PRIMARY KEY (`id`)
);
CREATE TABLE `comment` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) NOT NULL,
  `type` int(11) NOT NULL,
  `commentor` int(11) DEFAULT NULL,
  `createtime` bigint(20) DEFAULT NULL,
  `like_count` int(11) DEFAULT '0',
  `content` varchar(200) NOT NULL,
  `commentcount` int(11) DEFAULT '0',
  PRIMARY KEY (`id`)
);
CREATE TABLE `notification` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `notifier` int(11) NOT NULL,
  `receiver` int(11) NOT NULL,
  `outerid` int(11) NOT NULL,
  `type` int(11) NOT NULL,
  `createtime` bigint(20) NOT NULL,
  `status` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
);

insert into `user` values(1,'root','123456','5be53bcd-f1e3-4a40-a550-2a3a0b77ef9b','https://gitee.com/lyucoding/java-starter/raw/main/images/GitHub.png');
insert into USER values(2,'admin','123456','158de35f-6995-4766-8dae-2cf52354a366','https://gitee.com/lyucoding/java-starter/raw/main/images/GitHub.png');
insert into `question` values(1,'这是我的第一个问题','这是我的第一个问题,测试一下',1,2,19,0,'java',1632216866873);
insert into `comment` values(1,1,1,2,1632216895980,0,'我要来评论一下',2);
insert into `comment` values(2,1,2,2,1632216909821,0,'评论下面的评论',0);
insert into `comment` values(3,1,2,2,1632217004805,0,'再评论一下',0);
insert into `comment` values(4,1,1,2,1632217566350,0,'111',0);
insert into `notification` values(1,2,1,1,2,1632216895992,1);
insert into `notification` values(2,2,2,1,1,1632216909833,1);
insert into `notification` values(3,2,2,1,1,1632217004818,1);
insert into `notification` values(4,2,1,1,2,1632217566353,0);

(三)项目可以参考的文档


在写这个项目的时候我写了8篇博客,可以供大家参考:


开发基于SpringBoot和BootStrap的全栈论坛网站(一):准备阶段


开发基于SpringBoot和BootStrap的全栈论坛网站(二):后端人员如何快速使用BootStrap


开发基于SpringBoot和BootStrap的全栈论坛网站(三):登陆注册以及cookies的功能完成


开发基于SpringBoot和BootStrap的全栈论坛网站(四):完成问题发布功能


开发基于SpringBoot和BootStrap的全栈论坛网站(五):完成首页展示以及分页功能


开发基于SpringBoot和BootStrap的全栈论坛网站(六):完成个人中心、问题详情和问题编辑


开发基于SpringBoot和BootStrap的全栈论坛网站(七):完成回复和二级回复功能


开发基于SpringBoot和BootStrap的全栈论坛网站(八):完成回复通知的功能


用到的其他资源的网址已经放在README.MD下


(四)项目总结


这不算是一个很大型的项目,但用作学习我感觉还算不错,当然bug肯定会有,如果遇到有什么问题也可以在评论下和我讲,能解决的一定会帮大家解决,希望大家能给个Star


项目源码:github源码

相关文章:

  • 我的Java全系列技术博客
  • 闲着无聊造个轮子,开源一个可快速接入的分布式SSO系统
  • https在电子邮件安全解决方案
  • Python生成10个0-100之间的随机数,将其每个数一行写入“随机数.txt”文件,然后从文件中读出十个数,排序后写入“排序.txt”文件。文件路径随意指定。
  • 手游出海必用的三大推广策略
  • Python 实现批量文件改名操作。比如某路径下有“01.txt”“02.txt”“03,txt”,将其统一改为“学生01.txt”“学生02.txt”“学生03.txt”的形式。
  • NodeJs 搭建简单的聊天室
  • SolrCloud 5.x 集群部署方法
  • Spring Boot 和Spring Data
  • centos7使用docker下安装mysql并配置
  • 数组 找出重复的数字(不修改数组)
  • 加入强调语气,使用strong和em标签
  • java内置了优先队列PriorityQueue
  • Hadoop和分布式系统
  • c++ 指向类成员函数的函数指针
  • SegmentFault for Android 3.0 发布
  • (三)从jvm层面了解线程的启动和停止
  • Django 博客开发教程 8 - 博客文章详情页
  • eclipse的离线汉化
  • jdbc就是这么简单
  • Laravel5.4 Queues队列学习
  • Leetcode 27 Remove Element
  • Meteor的表单提交:Form
  • Mysql数据库的条件查询语句
  • python_bomb----数据类型总结
  • React-flux杂记
  • Shell编程
  • Vue UI框架库开发介绍
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 初识 beanstalkd
  • 从PHP迁移至Golang - 基础篇
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 老板让我十分钟上手nx-admin
  • 力扣(LeetCode)56
  • 爬虫模拟登陆 SegmentFault
  • 前端设计模式
  • 入门到放弃node系列之Hello Word篇
  • 使用 QuickBI 搭建酷炫可视化分析
  • 思维导图—你不知道的JavaScript中卷
  • 06-01 点餐小程序前台界面搭建
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​2020 年大前端技术趋势解读
  • ​插件化DPI在商用WIFI中的价值
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #宝哥教你#查看jquery绑定的事件函数
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (12)目标检测_SSD基于pytorch搭建代码
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (js)循环条件满足时终止循环
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (一)基于IDEA的JAVA基础10
  • (转)创业的注意事项
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...