目标:打造一款不同于市场上的公开打卡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. ajax介绍及使用

    一.什么是ajax:(只刷新局部页面的技术) AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发 ...

  2. Hyperledger Fabric 1.0 从零开始(九)——Fabric多节点集群生产启动

    7:Fabric多节点集群生产启动 7.1.多节点服务器配置 在生产环境上,我们沿用4.1.配置说明中的服务器各节点配置方案. 我们申请了五台生产服务器,其中四台服务器运行peer节点,另外一台服务器 ...

  3. SQLAlchemy基础操作二

    多线程示例 import time import threading from sqlalchemy.ext.declarative import declarative_base from sqla ...

  4. JavaScrip:Function函数编程

    自定义函数定义 1.函数通过function关键字创建,函数创建格式: function 函数名称([参数,...]){ 代码段; return 返回值; } 注意事项: 函数名称不要包含特殊字符 函 ...

  5. instr函数的"重载"

    .带两个参数的 --模糊查询,comp表的Mobel和show_name字段中含有'张' INSTR(COMP.MOBILE .带三个参数的 ) from dual; 结果: 第三个参数:从字符串&q ...

  6. V4l2的结构体 --- ioctl【转】

      在应用程序获取视频数据的流程中,都是通过 ioctl 命令与驱动程序进行交互,常见的 ioctl 命令有: VIDIOC_QUERYCAP /* 获取设备支持的操作 */ VIDIOC_G_FMT ...

  7. Codeforces 714A Meeting of Old Friends

    A. Meeting of Old Friends time limit per test:1 second memory limit per test:256 megabytes input:sta ...

  8. bzoj:1661 [Usaco2006 Nov]Big Square 巨大正方形

    Description 农民 John 的牛参加了一次和农民 Bob 的牛的竞赛.他们在区域中画了一个N*N 的正方形点阵,两个农场的牛各自占据了一些点.当然不能有两头牛处于同一个点.农场的目标是用自 ...

  9. 【Java学习笔记之三】java中的变量和常量

    变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据 ...

  10. Codeforces Round #301 (Div. 2)(A,【模拟】B,【贪心构造】C,【DFS】)

    A. Combination Lock time limit per test:2 seconds memory limit per test:256 megabytes input:standard ...