--- 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 趣味评榜单