search.png
关于我
menu.png
某程序员从零开始设计开发一个个人事项管理工具给自己用(1)——概述和主页设计开发

一、概述

不知道大家有没有这样的一个经历,那就是一周过完了,到了周日回看这周,发现这周并没有达到预期的目标(有时候是啥也没做)。

好像也做了不少事,但是为什么都没有达到成效呢?

须知,计划是一方面,行动是另一方面。常常下班回来一累,躺床上刷会手机,就不知不觉一晚上过去了。明天总有很多事想做。但是明日复明日,明日何其多?

那乘着周末,就着手从零开始设计开发一个个人事项管理工具吧。为了能更加高效的利用时间,规划好自己每日要做的事情,计划这个个人事项管理工具就基于四象限法则来做。按照重要紧急程度进行排序,这样就知道该优先做什么了。

不知道取啥名好,既然是小墨自己用的,那就暂时叫 momotodo吧(中文名:墨墨todo)。

对momotodo的需求、功能、系统数据库设计我会同步的记录到博客里,代码则开源放到github上。

计划是后端采用go语言开发,前端使用vue3。这样子选择的原因是,go语言语法简单,可以编译成可执行程序,运行时的内存消耗也小。前端用vue3可以充分的利用最新的技术,还可以使用npm众多的组件。此外不需要考虑seo,所以前端渲染是一个不错的选择。
数据库方面采用sqllite3作为默认的数据库使用,mysql做为备选方案。

  • 不采用java的原因:java太吃内存了,还需要随时附带java环境,不方便部署。
  • 不采用rust的原因:rust语法太难了,虽然性能很高,但是开发周期肯定会比go慢。
  • 不采用后端渲染的原因:不做seo,前端渲染不吃后端性能,vue3开发有众多的组件可用。前端可以缓存在浏览器,节省流量。
  • 不直接采用mysql的原因:sqllite3可以嵌入程序内,无需安装,sqllite3足够小,就几百k。

momotodo的整体定位:为个人用户服务、小、轻量级、不耗费资源、易于部署和使用、可以快速开发、方便迭代。

二、四象限法则

引自百度百科:

四象限法则是时间管理理论的一个重要观念是应有重点地把主要的精力和时间集中地放在处理那些重要但不紧急的工作上,这样可以做到未雨绸缪,防患于未然。

在这里插入图片描述
在这里插入图片描述

在人们的日常工作中,很多时候往往有机会去很好地计划和完成一件事。但常常却又没有及时地去做,随着时间的推移,造成工作质量的下降。因此,应把主要的精力有重点地放在重要但不紧急这个“象限”的事务上是必要的。要把精力主要放在重要但不紧急的事务处理上,需要很好地安排时间。一个好的方法是建立预约。建立了预约,自己的时间才不会被别人所占据,从而有效地开展工作。
如果把要做的事情按照紧急、不紧急、重要、不重要的排列组合分成四个象限,这四个象限的划分有利于我们对时间进行深刻的认识及有效的管理。

第一象限

这个象限包含的是一些紧急而重要的事情,这一类的事情具有时间的紧迫性和影响的重要性,无法回避也不能拖延,必须首先处理优先解决。它表现为重大项目的谈判,重要的会议工作等。

第二象限

第二象限包含的事件是那些紧急但不重要的事情,这些事情很紧急但并不重要,因此这一象限的事件具有很大的欺骗性。很多人认识上有误区,认为紧急的事情都显得重要,实际上,像无谓的电话、附和别人期望的事、打麻将三缺一等事件都并不重要。这些不重要的事件往往因为它紧急,就会占据人们的很多宝贵时间。

第三象限

第三象限的事件大多是些琐碎的杂事,没有时间的紧迫性,没有任何的重要性,这种事件与时间的结合纯粹是在扼杀时间,是在浪费生命。发呆、上网、闲聊、游逛,这是饱食终日无所事事的人的生活方式。

第四象限

第四象限不同于第一象限,这一象限的事件不具有时间上的紧迫性,但是,它具有重大的影响,对于个人或者企业的存在和发展以及周围环境的建立维护,都具有重大的意义。

三、主页

在这里插入图片描述
在这里插入图片描述

顶部功能选项选中之后可以切换功能,

预设计的功能有:

在这里插入图片描述
在这里插入图片描述

主页的主要作用是浏览当天的待办事件,和新增当天的待办事件。

1.1.1 todo 列表

针对todo列表的排序,满足:

1、按四象限法则排序

(1)重要紧急 (短期优先)

(2)重要不紧急 (未来紧急,长期规划)

(3)紧急不重要 (必须要做的,但是这次不做也不会造成很大的影响)

(4)不紧急不重要 (休闲、无关紧要的事情)

每个todo,可选重要程度为:

特别重要,十分重要,很重要,重要,比较重要,有点重要,不重要,可以忽视

对应分值为,10,9,8,7,6,5,3,0

可选的紧急程度为:

特别紧急,十分紧急,很紧急,紧急,比较紧急,有点紧急,不紧急,可以忽视

对应分值为,10,9,8,7,6,5,3,0

一个todo的重要程度分值 * 2 + 紧急程度分值 (这个分值还需要结合后续使用进行调整)

排序时按照todo的分值从高到低排序。

日期查询功能可以选中对应的日期(年月日),查看对应日期的待办事项。

1.1.2 新增todo

在这里插入图片描述
在这里插入图片描述

新增Todo的功能很简单,就是一个表单提交。

对于UI此处没有进行详细的设计,具体开发时再进行设计。

1.1.3 预设计的功能

预设计的功能有:

在这里插入图片描述
在这里插入图片描述

  • 四象限:根据当日的任务绘制四象限图
  • 日志记录:整理,总结每天的日志信息
  • 长期计划:设置长期计划,长期计划会被拆分成多个小目标,再分配到每日的todo去执行
  • 成效:按照实际的完成情况对比预计的完成情况,以及TODO的价值计算一段时间内的成效曲线
  • 心情笔记:记录每天的心情、身心状态,及时调整对应的todo事项
  • 技能成长:规划技能成长路线,制定长远目标,结合当下长期计划,进行人生的中长期规划

四、技术方面

4.1 技术选型

1、前端:vue3,组件库:Vant,axios、vue-router、less
2、后端:go,原生不带框架
3、数据库:sqllite3
4、部署方式:前端打包完成之后,放置到go项目的静态文件目录,然后再进行打包部署。可以本地运行,或者部署到服务器上。浏览器打开访问。服务器上部署,支持移动端使用。

4.2 表结构设计

核心表:momo_todo:

在这里插入图片描述
在这里插入图片描述

表结构设计时尽量考虑到了后续可能会用上的字段。

4.3 界面和接口

1、主页

  • 顶部导航栏
  • todo查询栏:(1)todo查询接口(按选中日期),默认今天
  • todo列表:
    • todo项:双击编辑查看详情,(2)查看详情todo接口
    • todo项:点击空白圆圈完成,(3)todo完成接口
    • todo项:长按(右键),弹出删除提示,确认则调用(4)todo删除接口
  • todo新建/编辑查看:(5)保存todo接口
  • 底部完成todo数量:(6)获取已完成的todo数量接口

工时预计:15-30h(包含基础项目结构的搭建)

... 未完待续

版权声明

知识共享许可协议 本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
发布时间:2021年07月18日 17:29:10

评论区#

还没有评论哦,期待您的评论!

关闭特效