Echo/README.md
2021-01-19 13:01:26 +08:00

137 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Echo 回音
---
## 🥝 从本项目你能学到什么
- 👍 学会主流的 Java Web 开发技术和框架
- 👍 积累一个真实的 Web 项目开发经验
- 👍 掌握本项目中涉及的常见面试题的答题策略
## 🍉 技术栈
- Spring
- Spring Boot 2.4
- Spring MVC
- ORMMyBatis
- 数据库MySQL 5.7
- 缓存Redis
- 消息队列Kafka
- 搜索引擎Elasticsearch
- 安全Spring Security
- 监控Spring Actuator
- 前端Thymeleaf + Bootstrap
- 日志SLF4J日志接口 + Logback日志实现
## 🍋 开发环境
- 构建工具Apache Maven
- 集成开发工具Intellij IDEA
- 数据库MySQL、Redis
- 应用服务器Apache Tomcat
- 版本控制工具Git
## 🍏 功能列表
- [ ] 分页显示
- [ ] 注册
- [ ] 登录、登出
- [ ] 过滤敏感词
- [ ] 发布帖子
- [ ] 查看帖子详情
- [ ] 评论功能
- [ ] 私信功能(发私信、私信列表、发送列表)
- [ ] 点赞功能(点赞、我收到的赞)
- [ ] 关注功能(关注、取消关注、关注列表、粉丝列表)
- [ ] 系统通知功能(管理员发送系统通知、用户接收系统通知)
- [ ] 搜索功能
- [ ] 权限控制
- [ ] 管理员的置顶、加精、删除帖子功能
- [ ] 网站数据统计
- [ ] 热帖排行
- [ ] 文件上传
- [ ] 优化网站性能
## 🍑 界面展示
## 🍓 数据库文件
用户 `user`
```sql
DROP TABLE IF EXISTS `user`;
SET character_set_client = utf8mb4 ;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`salt` varchar(50) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`type` int(11) DEFAULT NULL COMMENT '0-普通用户; 1-超级管理员; 2-版主;',
`status` int(11) DEFAULT NULL COMMENT '0-未激活; 1-已激活;',
`activation_code` varchar(100) DEFAULT NULL,
`header_url` varchar(200) DEFAULT NULL,
`create_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_username` (`username`(20)),
KEY `index_email` (`email`(20))
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;
```
讨论帖 `discuss_post`
```sql
DROP TABLE IF EXISTS `discuss_post`;
SET character_set_client = utf8mb4 ;
CREATE TABLE `discuss_post` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`title` varchar(100) DEFAULT NULL,
`content` text,
`type` int(11) DEFAULT NULL COMMENT '0-普通; 1-置顶;',
`status` int(11) DEFAULT NULL COMMENT '0-正常; 1-精华; 2-拉黑;',
`create_time` timestamp NULL DEFAULT NULL,
`comment_count` int(11) DEFAULT NULL,
`score` double DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
评论(回复)`comment`
```sql
DROP TABLE IF EXISTS `comment`;
SET character_set_client = utf8mb4 ;
CREATE TABLE `comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`entity_type` int(11) DEFAULT NULL,
`entity_id` int(11) DEFAULT NULL,
`target_id` int(11) DEFAULT NULL,
`content` text,
`status` int(11) DEFAULT NULL,
`create_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_user_id` (`user_id`),
KEY `index_entity_id` (`entity_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
登录凭证 `login_ticket`
```sql
DROP TABLE IF EXISTS `login_ticket`;
SET character_set_client = utf8mb4 ;
CREATE TABLE `login_ticket` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`ticket` varchar(45) NOT NULL COMMENT '凭证',
`status` int(11) DEFAULT '0' COMMENT '凭证状态0-有效; 1-无效;',
`expired` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '凭证到期时间',
PRIMARY KEY (`id`),
KEY `index_ticket` (`ticket`(20))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```