在线地址
章鱼论坛
暑假最近刚刚接触SpringBoot,感觉SpringBoot比起SSM大大的简化了配置,我们不需要向之前搭建SSM的环境啥的,SpringBoot的核心就是自动配置吧,因此写了一个简单的社区,现在项目已经部署上线,想要学习这个项目的可以来看看哟~。
资料
Spring 文档
Spring Web文档
es社区
GitHub deploy key
BootStrap 文档
GitHub OAuth
菜鸟教程
Thymeleaf
Spring Dev Tool
Spring MVC
Markdown 插件
UFfile SDK
Count(*) VS Count(1)
工具
Git
Visual Paradigm
Flyway
lombok
ctotree
Table of content sidebar
One Tab
Live Reload
Postman
LiveReload
技术栈
- 使用SpringBoot,Maven管理项目的依赖。
- Mybatis持久层,Spring,Springmvc,Thymeleaf模板引擎。
- 前端使用UI框架:BootStrap框架,Jquery库,flatui主题
- 数据库使用MySql。
- 开发坏境JDK1.8,IDEA集成环境,Sqlyog可视化工具
- 适合人群:刚接触springboot,暂无项目经验的同鞋。(话不多少开始项目吧)
- 项目参考哔哩哔哩SpringBoot论坛(码匠社区),在原有的基础下,添加了许多的功能。
- Ajax来处理前后端交互,页面多处使用异步请求。
功能
1.登入使用github授权登入,QQ授权,百度账号授权登入,等一系列的oauth2.(考虑到大家登入的方便因此采用这种方式比较好)
2. 提问,选中问题分类,选择问题的标签,可以将问题加入一个话题,这样就能让大家更容易的找到你的问题。
3.发起问题使用的基于markdown语法(使用editormd前端插件)
4. 评论问题,回复问题
5. 点赞包括(点赞问题,点赞评论)
6.通知功能:点赞通知和回复通知,关注通知
6. 搜索功能
7. 按问题的分类查询
8. 按时间热度查询
9. 热门标签,以及热门标签查询(springboot定时任务的使用)
10. 相关问题
11. 1小内自动登入。
12. 退出登入
12. 我的问题(CRUD)
13. 关注好友,取消关注,好友问题。查看我的粉丝,我收藏的问题。
14. 收藏问题。
15. 话题模块。创建问题的时候可以加入话题,关注话题,相关话题。
16. 网站聊天室。
17. 网站广告管理
还有一些小功能就不具体说了,,如果你也是刚接触SpringBoot可以用这个项目练练手
(做的不是很好请见谅!!!嘻嘻嘻)
部署
- 服务器:阿里云ESC云服务器。
- 图片上传:阿里OSS对象存储。
数据库脚本
问题表
CREATE TABLE `question` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`title` varchar(200) CHARACTER SET utf8 DEFAULT NULL,
`description` text CHARACTER SET utf8,
`gmt_create` bigint(20) DEFAULT NULL,
`gmt_modified` bigint(20) DEFAULT NULL,
`comment_count` int(10) DEFAULT '0',
`view_count` int(10) DEFAULT '0',
`like_count` int(10) DEFAULT '0',
`tag` varchar(256) CHARACTER SET utf8 DEFAULT NULL,
`creator` int(10) DEFAULT NULL,
`category` int(10) DEFAULT NULL COMMENT '分类',
`topic` int(10) DEFAULT NULL COMMENT '属于的话题',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=258 DEFAULT CHARSET=utf8mb4
用户表
CREATE TABLE `user` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`account_id` varchar(100) DEFAULT NULL,
`name` varchar(100) DEFAULT NULL,
`token` char(36) DEFAULT NULL,
`gmt_create` bigint(20) DEFAULT NULL,
`gmt_modified` bigint(20) DEFAULT NULL,
`avatar_url` varchar(100) DEFAULT NULL,
`bio` varchar(120) DEFAULT NULL,
`location` varchar(50) DEFAULT NULL,
`company` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8
通知表
CREATE TABLE `notification` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`notifier` bigint(20) DEFAULT NULL,
`receiver` bigint(20) DEFAULT NULL,
`type` int(11) DEFAULT NULL,
`outter_id` int(11) DEFAULT NULL COMMENT '外键,关联问题或评论',
`gmt_create` bigint(20) DEFAULT NULL,
`status` int(11) DEFAULT '0' COMMENT '通知的状态,已读未读',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=510 DEFAULT CHARSET=utf8
关注用户表
Create Table
CREATE TABLE `follow` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` int(10) DEFAULT NULL,
`followed_user` int(10) DEFAULT NULL,
`status` int(3) DEFAULT NULL,
`gmt_create` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8
Create Table
CREATE TABLE `collect` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` int(10) DEFAULT NULL,
`question_id` int(10) DEFAULT NULL,
`gmt_create` bigint(20) DEFAULT NULL,
`gmt_modified` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8mb4
问题点赞表
Create Table
CREATE TABLE `question_zan` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`user_id` int(100) DEFAULT NULL,
`question_id` bigint(20) DEFAULT NULL,
`gmt_create` bigint(20) DEFAULT NULL,
`gmt_modified` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4
广告表
Create Table
CREATE TABLE `ad` (
`id` int(100) NOT NULL AUTO_INCREMENT,
`title` varchar(256) DEFAULT NULL,
`url` varchar(512) DEFAULT NULL,
`image` varchar(256) DEFAULT NULL,
`gmt_create` bigint(20) DEFAULT NULL,
`gmt_modified` bigint(20) DEFAULT NULL,
`gmt_start` bigint(20) DEFAULT NULL,
`gmt_end` bigint(20) DEFAULT NULL,
`status` int(20) DEFAULT NULL,
`postion` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4
话题表
CREATE TABLE `topic` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`talk_count` bigint(20) DEFAULT NULL,
`follow_count` int(100) DEFAULT NULL,
`image` varchar(10000) DEFAULT NULL,
`simple_desc` varchar(256) DEFAULT NULL,
`gmt_create` bigint(20) DEFAULT NULL,
`gmt_modified` bigint(20) DEFAULT NULL,
`status` int(2) DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4
问题收藏表
Create Table
CREATE TABLE `collect` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` int(10) DEFAULT NULL,
`question_id` int(10) DEFAULT NULL,
`gmt_create` bigint(20) DEFAULT NULL,
`gmt_modified` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8mb4
演示
如果项目不能访问可能是正在更新可以添加 楸楸(QQ):3053161401
最后感谢大家,共同学习,共同进步吧,冲鸭~~~~