Files
OneMD/posts/blog/工作/项目/啥都评.md
T
2026-06-19 14:45:07 +08:00

8.0 KiB
Raw Blame History

title, date, categories, tags
title date categories tags
啥都评 2025-04-30
工作
项目
项目

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

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

shadouping-web/
├── src/
│   ├── api/                  // axios 接口封装
│   ├── assets/               // 静态资源
│   ├── components/           // 通用组件
│   ├── pages/                // 页面组件
│   ├── router/               // 路由配置
│   ├── store/                // pinia 状态管理
│   ├── utils/                // 工具方法
│   └── main.js
├── public/
└── vite.config.js

🗄️ 数据库建表 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 趣味评榜单