任务管理工具大家用的比较多,比如滴答清单,奇妙清单等,但是如果让我们自己设计并开发一款任务清单,那么应该怎么做呢?先上图.本文以笔者开发的天天任务清单为例来说明该问题。

一、需求设计

一般来说,一款任务管理工具包括如下几点需求

1、能够支持快速地发布任务。发布任务只需要填写一段文字就可以了

2、能够发布比较复杂的任务。比较复杂的任务包括任务截止时间设置,任务优先级设置等等,一些任务还需要每天自动生成。

3、任务需要分类,便于查看,该需求主要考虑到工作和生活相分离。

4、已经完成了的任务要和尚未完成的任务有所区分

5、任务需要支持账户同步功能,即同一个帐号,登录后数据应该保持一致。

6、系统登录尽量简单快接。

二、概要设计

1、系统前端采用框架

可以备用的方案有app,小程序,微信公众号+h5,考虑开发成本和用户体验,我们觉得可以用小程序来解决,主要原因是因为小程序相比H5体验更好,相比app无需安装。

2、系统后端支持

后端语言可以采用php,java或者go,数据库可以选用mysql 或者sqllite。在本系统中,我们将用go做系统开发语言。因为go支持自定义cron定时器,而又相比与java轻巧很多。

3、数据如何同步

本系统我们设计了本地存储和网络存储共存的形式。系统提供手动或者自动同步功能,将本地的数据与服务器上的数据同步。

三、详细设计

1、数据库结构设计

在本系统中我们提供三张表,包括用户信息表t_user,任务信息表t_task,定时任务表t_schedule,任务分类表t_cate.具体表结构如下

t_user :

用户编号id,用户名username,用户密码passwd,用户昵称nickname,用户头像avatar,用户登录凭证ticket。

t_task

任务编号id,任务内容memo,任务优先级pri,任务截止时间deadline,任务状态stat,所属用户userid。

t_schedule

任务编号id,任务内容memo,任务优先级pri,任务截止时间deadline,任务状态stat,所属用户userid,任务产生cron表达式cron,

t_cate.

分类编号id,分类名称name,所属用户userid,面板状态stat

2、定时任务实现

我们采用cron表达式形式,后端采用go语言的好处也在这里,go语言本身可以编译成服务器,无需宿主程序,我们可以通过自定义cron表达式来支持定时任务,而php则不行。

3、前端小程序编码

我们需要将常用的工具函数封装到util包中,并注入到app上下文。另外我们需要将任务管理相关函数封装成js

四、编码

目前该程序已经开源,

具体前端代码地址

http://www.imwinlion.com/archives/category/opensource

后端代码地址正在整理

五、测试

如有bug请联系我

作者简介:胡文林,持续创业者,长期从事技术开源工作。微信号jiepool-winlion

10年产品经理手把手教你做产品:如何设计一款任务管理软件相关推荐

  1. 手把手教你做产品经理,视频课教程已经发布,欢迎观看

    手把手教你做产品经理,视频课教程已经发布,欢迎观看 http://edu.51cto.com/course/course_id-5062.html 转载于:https://blog.51cto.com ...

  2. 手把手教你做产品经理1.0

    之前的老司机教你做产品经理 7.0已经培训完成,很多同学入职了腾旭.阿里.网易.字节跳动这样的大公司,纷纷向我报喜: 为了更好的服务大家,经过精心打磨,我们在原有老司机教你做产品经理 7.0的基础上全 ...

  3. 平面设计中的网格系统_干货 | 手把手教你做#响应式设计# 还有标准栅格系统库分享!...

    不管是做平面设计还是UI设计的同学,「网格系统」(又称栅格系统)都是经常听到的专有名词,但是一遇到栅格系统如何指导我们做响应式设计的问题,很多同学都会一脸懵*.本期推荐Ivan.Zheng的深度好文, ...

  4. 手把手教你做一个新浪博客发布软件JAVA版本(5)--打开博客发布页面并解析博客内容

            前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一 ...

  5. 手把手教你做一个新浪博客发布软件JAVA版本(4)--打开博客发布页面

           前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一不 ...

  6. 手把手教你做数据产品经理

    数据产品经理今年特别火比较火,市场平均薪资已达到26K+,疫情影响下,其他岗位都在收缩,唯数据产品经理独树一帜,不但高薪,还大量扩招. 数据产品经理的市场需求在增加 数据产品经理火的原因之一是企业从数 ...

  7. 产品经理进修第四天 产品增长怎么做

    19 | 增长黑客的核心公式 作为即将开始的产品增长系列的第一篇文章,这篇文章的主旨是如何利用增长黑客实现产品的增长. "增长黑客"这个词最近特别火,这个概念最初是由互联网创业者肖 ...

  8. python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...

    原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...

  9. oracle可以在liux上装_【Oracle】手把手教你做之Linux上安装Oracle11g

    手把手教你做之Linux上安装Oracle11g 这是我第一次安装时的过程,及遇到问题的解决办法,在此记录,有不妥之处,多多交流. 因为高稳定性及高定制低系统消耗等原因,我们希望在Linux上安装Or ...

最新文章

  1. mysql1033错误存储引擎_【Mysql问题集锦(1)】mysql不能使用innodb存储引擎
  2. linux修改文件权限属性,如何修改Linux文件的属性与权限
  3. asp.net页面处理过程文章整理
  4. linux命令运行中,输入命令,如果输入错误,怎么删除?
  5. 文件无刷新上传(swfUpload与uploadify)
  6. php如何和c进行数据交换,PHP与 后台c交换数据 | 学步园
  7. 网络信息系统(NIS服务器)
  8. hash hashcode变化_Web安全 | 没想到 Hash 冲突还能这么玩,你的服务中招了吗?
  9. 动态生成类_springboot动态生成类属性
  10. Vue 页面加载闪现出现{{xxx}}问题
  11. 从零开始学架构2 - 高性能篇
  12. 03-29 健壮性测试
  13. 我从别人那里偷学的前端调试小技巧(浏览器篇)
  14. python立即关机_“python怎么控制计算机关机“python自动关机教程
  15. 每日 30 秒 ⏱ 字符编码排雷录
  16. python键值对储存数据_在python中存储100万个键值对的列表
  17. STM32实现Airplay音乐播放器
  18. 拼多多直播带货,中小主播及商家的新机会
  19. 风控系统就该这么设计(万能通用),那是相当稳定
  20. 1036. 跟奥巴马一起编程(15)

热门文章

  1. 基于Java毕业设计智慧商店管理系统源码+系统+mysql+lw文档+部署软件
  2. iOS开发-苹果热更新禁止-JSpatch禁止-热更新上线被拒绝
  3. 双目相机计算稠密深度点云(二)
  4. javaMail学习(五)——使用javaMail给Q Q 邮 箱 账 户 发简单邮件
  5. 乱码大全(二) (转)
  6. Linux 常见死机原因
  7. cod文件在c语言,在Python Cod中运行“wc-lfilename”
  8. stanley 轨迹跟踪算法
  9. 【宋红康 MySQL数据库】【02】MySQL基本使用
  10. 黑马Redis笔记高级篇 | 多级缓存