目标:打造一款不同于市场上的公开打卡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. C#Winform 自定义透明按钮和单窗体模块化实现

    技术看点 WinForm自定义控件的使用 WinForm单窗体应用如何模块化 需求及效果 又来一波 C# GDI自定义控件show .这个控件已经使用几年了,最近找出来重构一下.原来是没有边框的,那么 ...

  2. CentOS7下安装Docker-Compose

    Docker-Compose是一个部署多个容器的简单但是非常必要的工具. 安装Docker-Compose之前,请先安装 python-pip 安装 python-pip 1.首先检查linux有没有 ...

  3. duilib基本流程

    duilib的基本流程如上图,通过解析一个xml文件,将文件中的内容渲染为窗口界面,这个解析过程由WindowImplBase类来完成. 基本框架如下: 1. 首先在公共头文件中加入如下内容: #in ...

  4. oracle之 dblink 报ORA-03113 TNS-12543

    -- 客户端使用含 dblink sql报错( 症状:当数据库使用dblink访问其他数据库时,第一次执行某条dblink sql大多数情况下可以成功,偶尔执行一段时间后报错.如果该会话空闲二十分钟以 ...

  5. strace命令【转】

    strace命令使用: strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用 ...

  6. Django 1.10中文文档-第一个应用Part1-请求与响应

    在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以 ...

  7. vijos 1213:80人环游世界

    描述 想必大家都看过成龙大哥的<80天环游世界>,里面的紧张刺激的打斗场面一定给你留下了深刻的印象.现在就有这么一个80人的团伙,也想来一次环游世界. 他们打算兵分多路,游遍每一个国家. ...

  8. Kruskal求最小生成树

    #include<bits/stdc++.h> using namespace std; ; ; const int inf = 0x3f3f3f3f; ; typedef long lo ...

  9. list容器的C++代码实现

    #include <iostream> using namespace std; template  <class T> class mylist;//前置声明 templat ...

  10. python3 爬淘女郎

    刚学到python 组合数据类型这里,机缘巧合之下得到了一个公开课的视频,也看了前辈写的,取其精华,去其糟粕的爬了一下: import urllibfrom urllib import request ...