小打卡PRD
目标:打造一款不同于市场上的公开打卡app的产品
理念:通过监督和鼓励,和相同圈子的人一起互相鼓励、分享及监督,共同进步。
优点:
模板消息通知,网上基本通过小程序中逻辑层JS完成推送的请求,小打卡在通知方面采用服务器端异步任务推送,使用了高性能分布式内存队列系统BEANSTALKD,来实现模板消息的异步定时推送。
数据库方面,因为要实现每月、每周或者指定时间段的打卡排名系统这个功能,目前数据库单张数据表已经超过几十万条数据记录,通过数据库查询排名统计不可行。这里需要用到Redis高性能数据库来缓存数据,并采用Redis的zset有序集合来进行不同方面的排序和查询
功能模块:
前端UI设计:
如墨刀
首页交互设计
- 点击头像 会toast登陆成功
- 创建一个新的打卡按钮跳转至新建打卡页
- 点击我管理的打卡的回收箱在打卡旁边生成删除、取消按钮并隐藏打卡/已打卡按钮,点击取消按钮隐藏删除、取消按钮并恢复打卡、已打卡按钮,再次点击回收箱隐藏删除、取消按钮并恢复打卡/已打卡按钮
- 点击我管理的打卡列表/我参加的打卡/打卡按钮 跳转至 打卡详情页
- 打卡按钮打卡成功后变成“已打卡”并灰化
新建打卡页交互设计
- 可以输入活动标题
- 开始结束时间为两个选项,点指定开始结束日期时会在下面显示 出开始日期:日期选择器&结束日期:日期选择器
- 点击开始报名费,弹窗提示“付费打卡”功能面向优质社群开放!请关注公众号“小打卡”,回复“付费打卡”申请使用资格 点“确定”返回
- 下一步按钮 跳转 编辑打卡详情页
编辑打卡详情页交互设计
- 点击修改头像可以更换头像
- 群主简介可输入emoji表情
- 点击下一步按钮跳转打卡详情
打卡详情页面交互设计
- 点击邀请好友进入邀请好友页
- 点击编辑详情跳转编辑打卡详情页
- 修改昵称跳转打卡设置
- 点击打卡按钮跳转发表日记页
- 点击发布主题打卡跳转打卡主题
- 点击添加一个新的打卡契约跳转创新的打卡契约页(加入活动必须支付佣金、每日的契约金、打卡目标)
- 日记、详情、成员(日记、详情后来的放在前面、成员新来的放后面)
发表日记页交互设计
- 可以输入、上传照片、语音、录视频
- 点击所在位置可以显示目前位置
- 谁可看可设置为私密
- 点击发表日记生成成就卡
发现页交互设计
- 点击各个模块可以切换对应的列表
- 点击每个列表中内容跳转打卡详情可以点击立即参加按钮
我的页面交互设计
- 点击修改个人资料进入编辑资料
- 点击我的评论看到我的评论列表
- 我的赞看到赞的列表
- 我的打卡日记可以点击详情、评论、赞
模板消息:
提示语:打卡参与成功
活动名称 [用嘴读书 第一季]
打卡时间 00:01:00~23:59:00
备注:记得坚持打呦~
进入小程序查看 >
提示语:有人喊你回来打卡啦~
活动名称 [用嘴读书 第一季]
备注:7019人在打卡,就差你了!
立即打卡>>
进入小程序查看 >
提示语:打卡创建成功
活动名称 [哈哈一起来读书吧]
打卡时间 00:01:00~23:59:00
备注:你可以邀请小伙伴一起来打卡呦~
立即邀请>>
进入小程序查看 >
小打卡PRD的更多相关文章
- 不从SD卡启动树莓派2
本文你可以学到: berryboot使用,kali安装,开挂的MobaXterm,以及关于通过LABEL和UUID挂载的小技巧. 本文默认你有一定Linux基础,同时针对刚入门的水平,因为这是我的折腾 ...
- 微信小游戏爆款秘笈 数据库MongoDB攻略篇
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB 发表于云+社区专栏 随着微信小游戏的爆发,越来越多开发者关注到MongoDB与小游戏业务的契合度. ...
- 小程序 onReachBottom 事件快速滑动时不触发的bug
一般在列表页面 会先加载一定数量的数据 触发上拉加载这个动作的时候再陆续加载数据 假如上拉一次加载10条数据 在小程序中 你快速滑动页面触发加载这个事件的话 你会发现小程序卡着不动了 刚开始以为数据加 ...
- 微信小程序内嵌网页的一些(最佳)实践
前言 3 个月前,微信小程序推出了 web-view 组件引发了一波小高潮,笔者所在的大前端团队写过一篇浅析,详情可见:浅谈微信小程序前端生态. 我们曾大胆猜想,这一功能,可能直接导致小程序数量增长迎 ...
- 卡方分布、卡方独立性检验和拟合性检验理论及其python实现
如果你在寻找卡方分布是什么?如何实现卡方检验?那么请看这篇博客,将以通俗易懂的语言,全面的阐述卡方.卡方检验及其python实现. 1. 卡方分布 1.1 简介 抽样分布有三大应用:T分布.卡方分布和 ...
- doc2vec使用说明(二)gensim工具包 LabeledSentence
欢迎交流,转载请注明出处. 本文介绍gensim工具包中,带标签(一个或者多个)的文档的doc2vec 的向量表示. 应用场景: 当每个文档不仅可以由文本信息表示,还有别的其他标签信息时,比如,在商品 ...
- #VSTS 日志# TFS 2015 Update 1 发布 – Git和TFVC代码库可以混合使用了
Visual Studio Team Foundation Server 2015 Update 1已经发布了. 这是 Team Foundation Server (TFS) 的最新版本,是 Mic ...
- C语言中的EOF和回车不一样
经常我们碰到这样一个C语言问题,例如: 输入一个组整数,按照从小到大排序后输出结果 输入: 1 7 9 2 4 输出: 1 2 4 7 9 这里要用C语言读入一段数的话,如果用 int array ...
- 【POJ各种模板汇总】(写在逆风省选前)(不断更新中)
1.POJ1258 水水的prim……不过poj上硬是没过,wikioi上的原题却过了 #include<cstring> #include<algorithm> #inclu ...
随机推荐
- delphi用webservice
delphi的webservice开发. 一.在已有的项目中,调用外部的webservice 1.根据向导建webservice,在项目中引入“WSDL Importer".假设引入后生成的 ...
- Django-mtv开发模式
从著名的MVC模式开始说起 所谓的MVC就是把Web应用分为模型(M)控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的房还是 连接在一起,模型负责业务对象与数据库的映射(ORM),视图负 ...
- for循环相关的一个问题
首先,我在for循环外定义了两个变量. //在4条直线方向,获取预置点两端的8个点的棋盘信息 ,r=,c=;//step代表直线,r,c分别代表加上偏移量之后的坐标 ,myCount=,hisCoun ...
- Android开发艺术探究Note
第一章:Activity的生命周期和启动模式 生命周期 onPause表示activity正在停止,onPaus必须先执行完(栈顶的activity),新的activity的onResume才会执行. ...
- CSS3中first-child、last-child、nth-child、nth-last-child
1.单独指定第一个子元素.最后一个子元素的样式 <style type="text/css"> li:first-child{ background:yellow; } ...
- linux(三)之linux常用命令二
今天就是星期五了,又可以休息两天了.有点小激动,开心.不过还是要加油,因为还有很多东西等着我去学习呢! 七.chmod 作用:修改文件的权限 7.1.命令格式:chmod mode filename ...
- UVA 572 dfs求连通块
The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSu ...
- 浏览器的统一指针事件:Pointer Event
在早期的浏览器,输入的事件其实相对单纯,只有考虑到鼠标和键盘两种:而当时的鼠标事件,其实就是 click.mousedown.mouseup 等等的事件.但是当手机.平板开始流行时候,再移动装置上的主 ...
- const类型变量的详细解读
const类型变量--------------------------------------int i;const int *p; --------------------------------- ...
- ASP.NET没有魔法——ASP.NET OAuth、jwt、OpenID Connect
上一篇文章介绍了OAuth2.0以及如何使用.Net来实现基于OAuth的身份验证,本文是对上一篇文章的补充,主要是介绍OAuth与Jwt以及OpenID Connect之间的关系与区别. 本文主要内 ...