目标:打造一款不同于市场上的公开打卡app的产品

理念:通过监督和鼓励,和相同圈子的人一起互相鼓励、分享及监督,共同进步。

优点:

模板消息通知,网上基本通过小程序中逻辑层JS完成推送的请求,小打卡在通知方面采用服务器端异步任务推送,使用了高性能分布式内存队列系统BEANSTALKD,来实现模板消息的异步定时推送。

数据库方面,因为要实现每月、每周或者指定时间段的打卡排名系统这个功能,目前数据库单张数据表已经超过几十万条数据记录,通过数据库查询排名统计不可行。这里需要用到Redis高性能数据库来缓存数据,并采用Redis的zset有序集合来进行不同方面的排序和查询


功能模块:


前端UI设计:
如墨刀
首页交互设计

  1. 点击头像 会toast登陆成功
  2. 创建一个新的打卡按钮跳转至新建打卡页
  3. 点击我管理的打卡的回收箱在打卡旁边生成删除、取消按钮并隐藏打卡/已打卡按钮,点击取消按钮隐藏删除、取消按钮并恢复打卡、已打卡按钮,再次点击回收箱隐藏删除、取消按钮并恢复打卡/已打卡按钮
  4. 点击我管理的打卡列表/我参加的打卡/打卡按钮 跳转至 打卡详情页
  5. 打卡按钮打卡成功后变成“已打卡”并灰化

新建打卡页交互设计

  1. 可以输入活动标题
  2. 开始结束时间为两个选项,点指定开始结束日期时会在下面显示 出开始日期:日期选择器&结束日期:日期选择器
  3. 点击开始报名费,弹窗提示“付费打卡”功能面向优质社群开放!请关注公众号“小打卡”,回复“付费打卡”申请使用资格 点“确定”返回
  4. 下一步按钮 跳转 编辑打卡详情页

编辑打卡详情页交互设计

  1. 点击修改头像可以更换头像
  2. 群主简介可输入emoji表情
  3. 点击下一步按钮跳转打卡详情

打卡详情页面交互设计

  1. 点击邀请好友进入邀请好友页
  2. 点击编辑详情跳转编辑打卡详情页
  3. 修改昵称跳转打卡设置
  4. 点击打卡按钮跳转发表日记页
  5. 点击发布主题打卡跳转打卡主题
  6. 点击添加一个新的打卡契约跳转创新的打卡契约页(加入活动必须支付佣金、每日的契约金、打卡目标)
  7. 日记、详情、成员(日记、详情后来的放在前面、成员新来的放后面)

发表日记页交互设计

  1. 可以输入、上传照片、语音、录视频
  2. 点击所在位置可以显示目前位置
  3. 谁可看可设置为私密
  4. 点击发表日记生成成就卡

发现页交互设计

  1. 点击各个模块可以切换对应的列表
  2. 点击每个列表中内容跳转打卡详情可以点击立即参加按钮

我的页面交互设计

  1. 点击修改个人资料进入编辑资料
  2. 点击我的评论看到我的评论列表
  3. 我的赞看到赞的列表
  4. 我的打卡日记可以点击详情、评论、赞


模板消息:

  提示语:打卡参与成功
  活动名称 [用嘴读书 第一季]
  打卡时间 00:01:00~23:59:00
  备注:记得坚持打呦~
  进入小程序查看 >

  提示语:有人喊你回来打卡啦~
  活动名称 [用嘴读书 第一季]
  备注:7019人在打卡,就差你了!
  立即打卡>>
  进入小程序查看 >

  提示语:打卡创建成功
  活动名称 [哈哈一起来读书吧]
  打卡时间 00:01:00~23:59:00
  备注:你可以邀请小伙伴一起来打卡呦~
  立即邀请>>
  进入小程序查看 >

小打卡PRD的更多相关文章

  1. 不从SD卡启动树莓派2

    本文你可以学到: berryboot使用,kali安装,开挂的MobaXterm,以及关于通过LABEL和UUID挂载的小技巧. 本文默认你有一定Linux基础,同时针对刚入门的水平,因为这是我的折腾 ...

  2. 微信小游戏爆款秘笈 数据库MongoDB攻略篇

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB 发表于云+社区专栏 随着微信小游戏的爆发,越来越多开发者关注到MongoDB与小游戏业务的契合度. ...

  3. 小程序 onReachBottom 事件快速滑动时不触发的bug

    一般在列表页面 会先加载一定数量的数据 触发上拉加载这个动作的时候再陆续加载数据 假如上拉一次加载10条数据 在小程序中 你快速滑动页面触发加载这个事件的话 你会发现小程序卡着不动了 刚开始以为数据加 ...

  4. 微信小程序内嵌网页的一些(最佳)实践

    前言 3 个月前,微信小程序推出了 web-view 组件引发了一波小高潮,笔者所在的大前端团队写过一篇浅析,详情可见:浅谈微信小程序前端生态. 我们曾大胆猜想,这一功能,可能直接导致小程序数量增长迎 ...

  5. 卡方分布、卡方独立性检验和拟合性检验理论及其python实现

    如果你在寻找卡方分布是什么?如何实现卡方检验?那么请看这篇博客,将以通俗易懂的语言,全面的阐述卡方.卡方检验及其python实现. 1. 卡方分布 1.1 简介 抽样分布有三大应用:T分布.卡方分布和 ...

  6. doc2vec使用说明(二)gensim工具包 LabeledSentence

    欢迎交流,转载请注明出处. 本文介绍gensim工具包中,带标签(一个或者多个)的文档的doc2vec 的向量表示. 应用场景: 当每个文档不仅可以由文本信息表示,还有别的其他标签信息时,比如,在商品 ...

  7. #VSTS 日志# TFS 2015 Update 1 发布 – Git和TFVC代码库可以混合使用了

    Visual Studio Team Foundation Server 2015 Update 1已经发布了. 这是 Team Foundation Server (TFS) 的最新版本,是 Mic ...

  8. C语言中的EOF和回车不一样

    经常我们碰到这样一个C语言问题,例如: 输入一个组整数,按照从小到大排序后输出结果 输入:  1 7 9 2 4 输出:  1 2 4 7 9 这里要用C语言读入一段数的话,如果用 int array ...

  9. 【POJ各种模板汇总】(写在逆风省选前)(不断更新中)

    1.POJ1258 水水的prim……不过poj上硬是没过,wikioi上的原题却过了 #include<cstring> #include<algorithm> #inclu ...

随机推荐

  1. Jenkins:VMware虚拟机Linux系统的详细安装和使用教程

    jenkins:VMware虚拟机Linux系统的详细安装和使用教程 (一) 不是windows安装虚拟机可跳过 1.Windows安装VMware 2.VMware安装linux系统 3.windo ...

  2. checkbox对齐-复选框图标

    checkbox对齐-复选框图标 一般开发过程中,我们直接使用<input type="checkbox"/>这样出现的复选框,设计师一般都说不好看 而让我们按照设计稿 ...

  3. [补充资料] 手动搭建 Cloudera 集群

    本课主题 集群搭建 设置 Web 服务器 启动 ClouderManager 登入 Cloudera Manager 引言 这部份是一个补充资料,记录如何安装 Cloudera 服务器 集群搭建 查看 ...

  4. 地址总线、数据总线、寻址能力、字长及cpu位数等概念之间的关系

    地址总线决定了CPU的寻址能力:数据总线的宽度与字长及CPU位数一致. 详细解释见下文: 1.地址总线与寻址能力 要存取数据或指令就要知道数据或指令存放的位置,地址寄存器存储的就是CPU当前要存取的数 ...

  5. 【LCT】BZOJ3091 城市旅行

    3091: 城市旅行 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1927  Solved: 631[Submit][Status][Discuss ...

  6. Vue2.0 相对于Vue1.0的变化:生命周期

    1.生命周期 根据提供的生命周期钩子说明Vue.js实例各个阶段的情况,Vue.js 2.0对不少钩子进行了修改,以下说明:(灰色字体代表是 2.0已经废弃或者被更名的钩子,黑色字体代表1.0 和2. ...

  7. nginx 的基本配置

    安装(mac):关于brew  的问题:http://www.cnblogs.com/adouwt/p/8042201.html brew install nginx  启动: brew servic ...

  8. 关于在selenium 中 webdriver 截图操作

    package prictce; import java.io.File; import java.io.IOException; import org.junit.After; import org ...

  9. 使用TensorFlow中的Batch Normalization

    问题 训练神经网络是一个很复杂的过程,在前面提到了深度学习中常用的激活函数,例如ELU或者Relu的变体能够在开始训练的时候很大程度上减少梯度消失或者爆炸问题.但是却不能保证在训练过程中不出现该问题, ...

  10. OOAD-设计模式(一)概述

    前言 在我们很多时候设计代码都是需要用到各种不一样的设计模式的,接下来着几篇给大家领略一下设计模式.知道设计模式的作用,以及在代码的具体体现.很多时候我们看不懂代码就是因为我们不知道它使用的设计模式. ...