10年产品经理手把手教你做产品:如何设计一款任务管理软件
任务管理工具大家用的比较多,比如滴答清单,奇妙清单等,但是如果让我们自己设计并开发一款任务清单,那么应该怎么做呢?先上图.本文以笔者开发的天天任务清单为例来说明该问题。
一、需求设计
一般来说,一款任务管理工具包括如下几点需求
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年产品经理手把手教你做产品:如何设计一款任务管理软件相关推荐
- 手把手教你做产品经理,视频课教程已经发布,欢迎观看
手把手教你做产品经理,视频课教程已经发布,欢迎观看 http://edu.51cto.com/course/course_id-5062.html 转载于:https://blog.51cto.com ...
- 手把手教你做产品经理1.0
之前的老司机教你做产品经理 7.0已经培训完成,很多同学入职了腾旭.阿里.网易.字节跳动这样的大公司,纷纷向我报喜: 为了更好的服务大家,经过精心打磨,我们在原有老司机教你做产品经理 7.0的基础上全 ...
- 平面设计中的网格系统_干货 | 手把手教你做#响应式设计# 还有标准栅格系统库分享!...
不管是做平面设计还是UI设计的同学,「网格系统」(又称栅格系统)都是经常听到的专有名词,但是一遇到栅格系统如何指导我们做响应式设计的问题,很多同学都会一脸懵*.本期推荐Ivan.Zheng的深度好文, ...
- 手把手教你做一个新浪博客发布软件JAVA版本(5)--打开博客发布页面并解析博客内容
前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一 ...
- 手把手教你做一个新浪博客发布软件JAVA版本(4)--打开博客发布页面
前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一不 ...
- 手把手教你做数据产品经理
数据产品经理今年特别火比较火,市场平均薪资已达到26K+,疫情影响下,其他岗位都在收缩,唯数据产品经理独树一帜,不但高薪,还大量扩招. 数据产品经理的市场需求在增加 数据产品经理火的原因之一是企业从数 ...
- 产品经理进修第四天 产品增长怎么做
19 | 增长黑客的核心公式 作为即将开始的产品增长系列的第一篇文章,这篇文章的主旨是如何利用增长黑客实现产品的增长. "增长黑客"这个词最近特别火,这个概念最初是由互联网创业者肖 ...
- python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...
原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...
- oracle可以在liux上装_【Oracle】手把手教你做之Linux上安装Oracle11g
手把手教你做之Linux上安装Oracle11g 这是我第一次安装时的过程,及遇到问题的解决办法,在此记录,有不妥之处,多多交流. 因为高稳定性及高定制低系统消耗等原因,我们希望在Linux上安装Or ...
最新文章
- mysql1033错误存储引擎_【Mysql问题集锦(1)】mysql不能使用innodb存储引擎
- linux修改文件权限属性,如何修改Linux文件的属性与权限
- asp.net页面处理过程文章整理
- linux命令运行中,输入命令,如果输入错误,怎么删除?
- 文件无刷新上传(swfUpload与uploadify)
- php如何和c进行数据交换,PHP与 后台c交换数据 | 学步园
- 网络信息系统(NIS服务器)
- hash hashcode变化_Web安全 | 没想到 Hash 冲突还能这么玩,你的服务中招了吗?
- 动态生成类_springboot动态生成类属性
- Vue 页面加载闪现出现{{xxx}}问题
- 从零开始学架构2 - 高性能篇
- 03-29 健壮性测试
- 我从别人那里偷学的前端调试小技巧(浏览器篇)
- python立即关机_“python怎么控制计算机关机“python自动关机教程
- 每日 30 秒 ⏱ 字符编码排雷录
- python键值对储存数据_在python中存储100万个键值对的列表
- STM32实现Airplay音乐播放器
- 拼多多直播带货,中小主播及商家的新机会
- 风控系统就该这么设计(万能通用),那是相当稳定
- 1036. 跟奥巴马一起编程(15)
热门文章
- 基于Java毕业设计智慧商店管理系统源码+系统+mysql+lw文档+部署软件
- iOS开发-苹果热更新禁止-JSpatch禁止-热更新上线被拒绝
- 双目相机计算稠密深度点云(二)
- javaMail学习(五)——使用javaMail给Q Q 邮 箱 账 户 发简单邮件
- 乱码大全(二) (转)
- Linux 常见死机原因
- cod文件在c语言,在Python Cod中运行“wc-lfilename”
- stanley 轨迹跟踪算法
- 【宋红康 MySQL数据库】【02】MySQL基本使用
- 黑马Redis笔记高级篇 | 多级缓存