341 lines
8.0 KiB
Markdown
341 lines
8.0 KiB
Markdown
---
|
||
title: 啥都评
|
||
date: 2025-04-30
|
||
categories: [工作, 项目]
|
||
tags: [项目]
|
||
---
|
||
|
||
|
||
**10天开发计划**(7-15天区间里,10天足够完成可运行版本,预留时间可调度缓冲或提前做优化)。按你的技术栈:Vue 3 + Spring Boot + MySQL,目标是**开发出一个可部署、可使用的“啥都评”基础版**。
|
||
|
||
---
|
||
|
||
## 📅 10天开发计划(第一阶段)
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 1 天:环境搭建 & 项目初始化
|
||
|
||
- 详情
|
||
- 搭建开发环境(JDK、MySQL、IDEA、Node、Nginx)
|
||
- 新建 Spring Boot 项目,配置好 dev 配置、数据库连接、JWT 安全框架
|
||
- 新建 Vue 3 项目,安装 Element Plus / Tailwind CSS
|
||
- 搭建基础路由、Axios 封装、前后端联调代理配置
|
||
|
||
👉 **输出**:能跑起来的空白前后端项目+数据库连接成功
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 2 天:用户系统开发
|
||
|
||
- 详情
|
||
|
||
**后端**:
|
||
|
||
- 用户注册、登录、登出接口(JWT token)
|
||
- 用户表、token 验证、权限拦截
|
||
|
||
**前端**:
|
||
|
||
- 登录/注册页面、表单校验、token 持久化
|
||
- 登录态前端路由守卫
|
||
|
||
👉 **输出**:登录注册功能能跑,登录后进入主页
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 3 天:正经评 - 条目管理与展示
|
||
|
||
- 详情
|
||
|
||
**后端**:
|
||
|
||
- 创建 `evaluation_item` 表,新增/获取条目接口
|
||
- 获取评分综合、维度分接口
|
||
|
||
**前端**:
|
||
|
||
- 正经评页面,展示条目列表、详情页
|
||
- 发起评价页面(只管理员可发)
|
||
|
||
👉 **输出**:正经评页面展示+详情页基本完成
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 4 天:正经评 - 评分与评论
|
||
|
||
- 详情
|
||
|
||
**后端**:
|
||
|
||
- `user_score` 表,提交评分接口、评论接口、获取评论列表接口
|
||
- 评论点赞、举报接口
|
||
|
||
**前端**:
|
||
|
||
- 条目评分组件(多维度打分)
|
||
- 评论展示、发布、点赞、举报功能
|
||
|
||
👉 **输出**:正经评评分+评论功能上线
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 5 天:趣味评 - 发帖与展示
|
||
|
||
- 详情
|
||
|
||
**后端**:
|
||
|
||
- `fun_topics` 表,发布趣味评接口、获取列表接口、详情接口
|
||
|
||
**前端**:
|
||
|
||
- 趣味评广场页面,展示帖子列表
|
||
- 发帖页面,文字/图片/是否开启评论/投票选项
|
||
|
||
👉 **输出**:趣味评发帖+广场浏览功能完成
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 6 天:趣味评 - 评论与互动
|
||
|
||
- 详情
|
||
|
||
**后端**:
|
||
|
||
- `fun_comments` 表,发布评论、点赞、举报、设精选接口
|
||
- 评论回复机制(仅一级)
|
||
|
||
**前端**:
|
||
|
||
- 趣味评帖子详情页,评论发布、回复、点赞、举报
|
||
- 精选评论标记(发帖人可设)
|
||
|
||
|
||
|
||
|
||
👉 **输出**:趣味评评论互动功能上线
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 7 天:搜索、榜单、推荐功能
|
||
|
||
- 详情
|
||
|
||
**后端**:
|
||
|
||
- 条目、帖子关键词模糊搜索接口
|
||
- 按热度、点赞数、评论数排行接口
|
||
|
||
**前端**:
|
||
|
||
- 搜索框联想、结果展示页
|
||
- 首页榜单区域、推荐话题展示
|
||
|
||
👉 **输出**:搜索与榜单功能上线
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 8 天:管理后台(简易版)
|
||
|
||
- 详情
|
||
|
||
**后端**:
|
||
|
||
- 用户管理、举报内容列表、违规处理接口
|
||
|
||
**前端**:
|
||
|
||
- 简易管理后台页面(可进首页手动跳转)
|
||
|
||
👉 **输出**:基本管理功能可用
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 9 天:前端界面美化、细节完善
|
||
|
||
- 详情
|
||
- Tailwind / Element Plus 样式统一调整
|
||
- 评分动画、按钮 loading、响应式适配
|
||
- 图片上传预览、发帖限制校验
|
||
- 评论时间格式化、美化样式
|
||
|
||
👉 **输出**:整体前端页面清爽、可交互、无重大 bug
|
||
|
||
---
|
||
|
||
- [ ] 📌 第 10 天:联调测试 & 部署打包
|
||
|
||
- 详情
|
||
- 前后端联调,修复接口返回问题
|
||
- 前端打包 + Spring Boot 打包
|
||
- Docker/Nginx 配置部署测试
|
||
- 生成部署文档
|
||
|
||
👉 **输出**:项目部署运行,进入试用阶段
|
||
|
||
---
|
||
|
||
## 📊 最终效果:
|
||
|
||
- 用户能注册、登录、发帖、评分、评论
|
||
- 正经评+趣味评+搜索+榜单功能可用
|
||
- 管理后台能查看用户、举报、封禁
|
||
- 支持 PC + 手机访问,界面基础美化
|
||
- 可部署的正式版本,后续可升级优化
|
||
|
||
---
|
||
|
||
## 📦 项目目录结构草稿
|
||
|
||
### 后端(Spring Boot)
|
||
|
||
```Plain
|
||
shadouping-server/
|
||
├── src/main/java/com/shadouping/
|
||
│ ├── config/ // 配置类
|
||
│ ├── controller/ // 控制器层
|
||
│ ├── service/ // 服务层
|
||
│ ├── dao/ // Mapper接口
|
||
│ ├── entity/ // 实体类
|
||
│ ├── security/ // 安全配置
|
||
│ ├── util/ // 工具类
|
||
│ └── ShadoupingApplication.java
|
||
├── resources/
|
||
│ ├── application.yml
|
||
│ └── static/
|
||
└── Dockerfile
|
||
```
|
||
|
||
### 前端(Vue 3 + Vite)
|
||
|
||
```Plain
|
||
shadouping-web/
|
||
├── src/
|
||
│ ├── api/ // axios 接口封装
|
||
│ ├── assets/ // 静态资源
|
||
│ ├── components/ // 通用组件
|
||
│ ├── pages/ // 页面组件
|
||
│ ├── router/ // 路由配置
|
||
│ ├── store/ // pinia 状态管理
|
||
│ ├── utils/ // 工具方法
|
||
│ └── main.js
|
||
├── public/
|
||
└── vite.config.js
|
||
```
|
||
|
||
---
|
||
|
||
## 🗄️ 数据库建表 SQL
|
||
|
||
```SQL
|
||
-- 用户表
|
||
CREATE TABLE user (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
username VARCHAR(50) NOT NULL UNIQUE,
|
||
password VARCHAR(100) NOT NULL,
|
||
avatar VARCHAR(255),
|
||
role TINYINT DEFAULT 0, -- 0普通 1管理员
|
||
status TINYINT DEFAULT 0,
|
||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 正经评条目表
|
||
CREATE TABLE evaluation_item (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
title VARCHAR(100) NOT NULL,
|
||
category VARCHAR(50),
|
||
description TEXT,
|
||
cover_img VARCHAR(255),
|
||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 正经评分记录表
|
||
CREATE TABLE user_score (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
user_id BIGINT,
|
||
item_id BIGINT,
|
||
score DECIMAL(3,1),
|
||
comment TEXT,
|
||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 正经评评论点赞表
|
||
CREATE TABLE score_comment_like (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
user_id BIGINT,
|
||
score_id BIGINT
|
||
);
|
||
|
||
-- 趣味评话题表
|
||
CREATE TABLE fun_topic (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
user_id BIGINT,
|
||
title VARCHAR(100) NOT NULL,
|
||
content TEXT,
|
||
img VARCHAR(255),
|
||
allow_comment TINYINT DEFAULT 1,
|
||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 趣味评评论表
|
||
CREATE TABLE fun_comment (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
topic_id BIGINT,
|
||
user_id BIGINT,
|
||
content TEXT,
|
||
parent_id BIGINT DEFAULT 0,
|
||
is_selected TINYINT DEFAULT 0,
|
||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
|
||
-- 举报表
|
||
CREATE TABLE report (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
reporter_id BIGINT,
|
||
type VARCHAR(50), -- topic/comment/score
|
||
target_id BIGINT,
|
||
reason VARCHAR(255),
|
||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
|
||
);
|
||
```
|
||
|
||
---
|
||
|
||
## 📑 前后端接口清单
|
||
|
||
### 📌 用户接口
|
||
|
||
- POST /api/user/register 注册
|
||
- POST /api/user/login 登录
|
||
- GET /api/user/info 查询个人信息
|
||
- GET /api/user/list 管理员查用户列表
|
||
|
||
### 📌 正经评接口
|
||
|
||
- GET /api/item/list 条目列表
|
||
- GET /api/item/{id} 条目详情
|
||
- POST /api/item/add 新增条目
|
||
- POST /api/item/score 提交评分
|
||
- GET /api/item/score/list 某条目评论
|
||
- POST /api/item/score/like 点赞评论
|
||
|
||
### 📌 趣味评接口
|
||
|
||
- GET /api/topic/list 话题列表
|
||
- GET /api/topic/{id} 话题详情
|
||
- POST /api/topic/add 发布话题
|
||
- POST /api/topic/comment 发布评论
|
||
- POST /api/topic/comment/like 点赞评论
|
||
- POST /api/topic/comment/select 精选评论
|
||
|
||
### 📌 举报接口
|
||
|
||
- POST /api/report 举报
|
||
- GET /api/report/list 管理员查举报记录
|
||
|
||
### 📌 搜索 & 榜单接口
|
||
|
||
- GET /api/search 搜索条目/话题
|
||
- GET /api/rank/item 正经评榜单
|
||
- GET /api/rank/topic 趣味评榜单 |