Vue+Koa+MongoDB从零开源一个任务管理系统

GitHub 地址:https://github.com/dom-bro/task-manager

大概是在18年的时候,当时还没有疫情。当时工作中同时负责多个项目,有 PC 端运营管理后台的,有移动端 M 站的,有微信小程序的,每天 git 分支切到头昏眼花,每个需求提测需要发送邮件,而且周五要写烦人的周报,我就萌生了做一个任务管理系统的想法。其实不管是日常需求还是处理线上 bug,都可以看作一个个大大小小的任务。这些任务有排期,prd,项目分支,开发测试人员等关键因素,在开发过程中这些都会得到明确,从而根据这些信息推导出提测邮件内容,进而通过排期时间区间汇总出周报。

说干就干,花了两个周末。

基本上就是任务的增删改查。

使用的技术栈如下:

# 前端
less
vue2
element-ui

# 后端
node
koa

# 数据库
由于当时对 mongodb 不熟悉,又想快速原型,选择了直接操作 json 文件的方式😄

尽管如此简陋,但我还是比较满意的,由于这时就我自己在用,功能基本够用。此时的关注点主要在 3 个要素

  • 任务的排期,汇总周报的依据
  • 任务的状态
    • 未开始,那些已提上日程但未着手开始的任务
    • 开发中,进行中的工作
    • 已提测,这种状态的任务的主要工作是修改 bug
    • 已完成,发布上线了的任务,无需再继续关注,汇总周报,季报的时候会用到
  • 任务的项目分支,在多任务多项目并行时特别有用

我就把它定为 1.0 版本吧

后来,我也开始借鉴市面上的任务管理工具,比如 tower,trello, teambition 等发展成熟的产品。

经过两年的改进和迭代,它已经变成了现在的样子。

支持卡片拖动去改变任务状态

画了一个甘特图去直观的展现任务排期跨度

模仿 github 日历图,排除掉周末节假日,直观体现每天的任务并行情况

此时数据库也已经切换到了 mongodb

我就把这时的系统定为 2.0 版本吧

岁月荏苒,时光如梭。疫情不断反复,前端的技术也已翻天覆地。为了与时俱进,准备把这个项目用最新的技术重写一下。

具体计划如下

# 主要是前端 vue
vue cli -> vite
vue2 -> vue3

最好的学习方式莫过于边学边练完成一个项目。

我准备接下来围绕这个项目更新一个系列,期间会涉及到下面这颗树的枝干。同时分享一些几年开发生涯的所思所想。
然鹅并不会对哪个技术做过多的纠缠,我想做的是引出枝干,如果想做到枝繁叶茂硕果累累,我想官网是营养最高的地方。

感兴趣的同学欢迎关注更新。

posted @ 2022-08-17 17:52  dombro  阅读(1461)  评论(1编辑  收藏  举报