寒假动手做一个 博客引擎,先对任务进行拆分,按照自己所理解的功能的重要性,拆分成多个里程碑,每个里程碑有自己的技术或者功能上的重点。然后在每个里程碑,只做好这个里程碑该做的事情,把它完全实现好以后,再考虑下一个里程碑的功能。
觉得将一大块的任务细化,能让自己很清楚的知道每一步在做什么,重点应该放在哪里,专心去解决自己目前里程碑的问题,也比较易于自己发现问题,解决问题。一步一步解决问题,会比直接做一大块的任务更加有信心,保持热情。
程序功能分析
通过视频了解到有一下功能
1.两种用户:普通用户和管理员,都可以注册,登陆,登出
2.操作博客:所有人都可以对自己的博客进行增删改查
3.评论功能: 所有人都可以对博客进行评论
4.管理员: 可以管理其他用户以及博客,可以设置管理员
第一个里程碑:搭架子
-
首先考虑需要使用哪些技术栈,本次任务想用javascript来完成,也会涉及react,redux,mogodb,express等。
-
构建工具使用npm
-
将代码提交到github上,提交到这里
-
写readme文件
只需要输出一个简单的页面,上面写着hello world就可以了,用来证明自己的项目已经搭建好。
验收条件
- 其他人可以方便的获取你的代码
2.其他人可以可以通过你的解释文件运行代码,显示页面
第二个里程碑:博客的增删改查
这个里程碑实现一些基本的重要功能,先不采用数据库,只关注博客的增删改查
验收条件
1.任何人都可以对博客进行增删改查
2.创建博客时,有标题,内容,创建人以及创建时间
3.修改博客时,需要填写“修改人”,“修改时间”即可
4.删除博客时,要向用户发出确认,防止误操作
5.可以以列表形式查看当前所有博客
6.不需要登陆就可以查看
第三个里程碑:使用真是数据
使用数据库mongodb来替代之前的模拟数据库
验收条件
1.没有破坏前一个里程碑的功能
2.代码以“小步”方式提交到github上,并且每个commit都有清楚的描述
3。若干篇博客用来记录学习收获和疑问
第四个里程碑:用户登录
实现普通用户登陆的功能
验收条件
1.查看博客时不需要登录
2.只有注册成用户并登录后,才能创建、修改、删除自己的博客
3.用户不能修改或删除别人的博客
4.如果没有登录,则不允许访问“创建、修改、删除”等页面
5.注册用户时,需要提供以下数据 “用户名”,“密码”。其ID由数据库或代码自动生成,每个用户的ID都是唯一并且不变的
6.用户登录时,需要输入“用户名”和“密码”
7.用户登录后可以退出
8.用户可以修改自己的用户名和密码
9.创建或修改博客时,不需要再手动输入“创建人”和“修改人”,而是由系统自动拿到当前用户的ID并使用该ID
注意点
原有的数据库结构需要修改。之前保存的是手动输入的“创建人”或“修改人”姓名,而现在应该使用登录者的ID。当需要显示其用户名时,可以通过ID拿到其用户名
第五个里程碑:评论功能
每个人都可以对每一篇博客进行评论,评论时不需要登录,只需要填写用户名。
验收条件
1.查看每一篇博客的时候都能够看到已有的评论,按照时间顺序排列
2.查看每一篇博客的时候,都能看到评论区,包括输入姓名,内容,提交新的评论
3.不能对已经发布的评论进行删除或者修改
第六个里程碑:管理员功能
增加新的角色:管理员,管理员相比于普通用户可以对博客和用户进行管理,也可以设置新的管理员
验收条件
1.管理员登陆之后能够看到 所有用户,所有博客,所有评论的管理功能
2.管理员可以对用户,博客,评论进行增删改查
3.管理员可以设置新的管理员,也可以将管理员设置为普通用户
第七个里程碑:管理员增加搜索功能
管理员进行管理的时候,可以搜索用户,博客,评论
验收条件
1.管理员在管理用户时,可以使用输入的关键字模糊搜索“用户名”,并只显示符合条件的用户
2.对于博客,只搜索“标题”
3.对于评论,只搜索评论“内容”
参考总理拆分的里程碑写出自己的里程碑,在寒假尾声准备开始动手做吧。
网友评论