- 年过完啦,告别过年时的灯红酒绿,快点滚来学习啦
- 看了几遍 任务视频,对要做的东西有一个大致的了解,但有点混乱,看了总理和鱼娟的拆分,觉得条理很清晰,参考一下,自己就来动手写啦
功能
- 用户功能:注册,登录,退出登录
- 博客管理:对自己的博客进行增,删,改,查,可以评论任一博客
- 管理员功能:可以管理所有用户以及他们的博客、标签等,还可以把某个用户设为管理员
拆分里程碑
里程碑1:搭建框架
- 我打算用JavaScript来完成此次的任务,具体的库和框架用到bootstrap,react,express,数据库使用mongodb
- 构建工具使用npm
- 代码会提交到github上
验收条件:
- 其他人可以直接从github上获取我的代码
- 可以根据readme中的提示正确运行起来
- 写博客来记录我的疑问和收获
里程碑2:展示主页
- 按照视频中所展示的页面,根据功能先写出我们需要的页面,不需实现任何逻辑功能。
- 主要用到react相关知识
验收条件
- 其他人可以直接从github上获取我的代码
- 可以根据readme中的提示正确运行起来
- 可以看到一个贴近视频中页面的页面
- 写博客来记录我的疑问和收获
里程碑3:博客管理
- 不用真实的数据库,不用用户登录,将数据保存到json文件中
- 对博客进行管理,增删改查
验收条件:
- 显示博客:将已存在博客按照列表形式显示到主页面
- 添加博客:只需要填写“标题”、“内容”、“创建人”并记录“创建时间”即可。
- 删除博客:向用户发出确认
- 修改博客: 只需要填写“修改人”,“修改时间”即可
- 查询博客:看到主页面中的博客列表
- 写博客来记录我的疑问和收获
里程碑4:使用真实数据库
- 将之前的临时数据都保存到数据库中,博客的增删改查都和直接修改数据库的数据
验收条件
- 不破坏原有的逻辑功能
- 可以通过某种方式来初始化数据库结构和预置数据,并在README中说明步骤
- 代码以“小步”方式提交到github上,并且每个commit都有清楚的描述
- 写博客来记录我的疑问和收获
里程碑5:用户功能
- 注册
- 登录
- 退出登录
验收条件
- 查看博客时不需要登录
- 只有注册成用户并登录后,才能创建、修改、删除自己的博客
- 用户不能修改或删除别人的博客
- 如果没有登录,则不允许访问“创建、修改、删除”等页面
- 注册用户时,需要提供以下数据 “用户名”,“密码”。其ID由数据库或- - 代码自动生成,每个用户的ID都是唯一并且不变的
- 用户登录时,需要输入“用户名”和“密码”
- 用户登录后,可以退出
- 用户可以修改自己的用户名和密码
- 创建或修改博客时,不需要再手动输入“创建人”和“修改人”,而是由系统自动拿到当前用户的ID并使用该ID
里程碑6:博客评论
- 对于每一篇博客任何用户可以评论
- 评论时需输入用户名和评论内容
验收条件
- 查看每一篇博客时,都可以看到已有的评论,并按某种时间顺序排列
- 查看每一篇博客时,都可以看到一个输入框输入新的评论,包括“姓名”和“内容”,可以提交新的评论
里程碑7:管理员功能
- 这是一个新的角色,要和普通用户有所区别
- 管理员可以管理(增删改查)任一普通用户的博客
- 管理员可以将某个用户设置为管理员角色
验收条件
- 管理员登录后与普通用户看到的界面有所不同,多了“所有用户”、“所-有博客”、“所有评论”的管理功能
- 管理员可以对“所有用户”、“所有博客”、“所有评论”进行增删改查
- 管理员可以将某个用户设置为“管理员”,也可以将某个“管理员”设置为“普通用户”
- 管理员不能删除自己,或者把自己降为“普通用户”
里程碑8:管理员的搜索功能
- 当管理员管理用户、博客和评论时,可以搜索,以方便管理
验收条件:
- 管理员在管理用户时,可以使用输入的关键字模糊搜索“用户名”,并- - 显示符合条件的用户
- 对于博客,只搜索“标题”
- 对于评论,只搜索评论“内容”