QRify ME – 一款活动追踪应用。
隆重推出一款创新的活动举办和参与应用!通过这个平台,活动主办方可以轻松管理他们的活动,并追踪活动地点内参与者的出席情况。无论您是在组织会议、研讨会还是社交聚会,该应用都提供了增强活动体验的一站式解决方案。
问题陈述
问题陈述是开发一个系统,该系统利用二维码注册人们参加活动,并通过基于位置的跟踪来跟踪他们的出勤情况。该系统仅向在活动地点且在线的人发送与活动相关的信息。此外,该系统还允许实时收集活动参与者的反馈。该系统还可以通过识别缺席三个以上活动的个人并阻止他们参加未来活动来进行预处理。
解决方案
1) 为参与者生成二维码: 为了生成参与者的二维码,我使用了“qr_flutter”包。该包使我能够轻松为每个参与者生成唯一的二维码。通过使用此包,我能够生成稍后用于参与者验证的二维码。
2) 集成Google Maps API用于活动地点: 为了设置活动地点和定义半径,我集成了Google Maps API。此集成使我能够在Google地图上选择活动地点并指定其周围的半径。通过利用Google Maps API,我获取了活动地点的纬度和经度坐标,然后将其存储在后端系统中以追踪指定区域内的用户。
3) 在数据库中创建实时用户集合: 为了实时跟踪活动地点内的用户,我在数据库中创建了一个集合。该集合旨在存储用户电子邮件。通过实时持续更新此集合,我可以监控指定活动地点内的用户存在情况。
4) 跟踪用户出勤和阻止功能: 为了跟踪用户出勤并实施阻止机制,我在用户的记录中引入了一个“time”字段。最初,“time”字段设置为“0”。当用户成功出示二维码并获得入场时,我将“time”字段更新为扫描时间戳。此外,我还通过实现一个阻止按钮,为主持人提供了阻止“time”字段仍为“0”的用户的能力。为了跟踪用户被阻止的次数,我在用户集合中包含了一个“blockCount”字段,每次用户被阻止时都会增加。一旦“blockCount”达到3,用户将被限制参加未来的活动。
技术栈
Flutter: 前端框架
Firebase: 后端即服务
工作流
QRify ME 应用
应用链接: https://drive.google.com/file/d/1Np-RL-XyX2NONKjGhxxfBxP7LbBHxhFA/view?usp=sharing
- 活动主办
- 位置追踪
- 参与者洞察
- 活动相关更新
- 阻止注册



应用注册和登录
-
使用Firebase身份验证,用户可以进行身份验证。
-
用户使用其电子邮件注册后,将向用户发送一封验证邮件。
-
通过点击链接,用户将得到验证,然后可以使用注册的电子邮件重新登录应用。
-
登录时,用户将看到两个选项
一、以主办方身份登录
二、以参与者身份登录
-
用户在重新打开应用后将保持登录状态。

您作为活动主办方的用户旅程
- 通过填写包含活动详情的表单来主办活动。
- 在Google地图上设置活动地点和半径。
- 将这些详情存储在Firebase Firestore中。
- 检索注册用户列表。
- 检索活动地点内的用户列表。
- 收集参与者的反馈。
- 向活动地点内的用户以及所有已注册活动的用户发送通知。
- 阻止参与者未来注册:如果参与者注册了活动但未能参加,主办方可以通过点击“阻止用户”按钮来阻止该参与者。


您作为活动参与者的用户旅程
- 参与者可以查看所有已举办的活动并注册。
- 一旦用户成功注册活动,他们将收到与活动相关的二维码。二维码将包含用户的电子邮件和活动举办时的活动时间戳。
- 当用户到达活动地点时,他们需要出示二维码。
- 二维码中的数据将与Firestore数据库中的数据进行验证。如果数据不匹配,用户将不允许入场。
- 成功入场后,Firestore数据库将更新“time”字段,防止用户被主办方阻止。
- 用户现在将被追踪,方法是访问其设备位置。
- 如果用户不允许权限,则不会发生追踪。
- 只有当用户在活动地点内时,他们才能提交反馈。
- 用户将根据主办方的兴趣接收通知。



后端
Firebase 身份验证
- 使用的登录方式:电子邮件/密码。
- 借助Firebase身份验证,用户将被注册,用户的电子邮件在后端可见。
- 用户注册时会收到一封验证邮件,通过该邮件用户会得到验证。
Firebase Firestore
- 这是我们的数据库。
- 它有两个集合“events”和“users”。
- events 用于存储所有与活动相关的信息。
- users 集合将存储用户的电子邮件、电话和用户名。在 users 中有一个名为“registeredEvents”的子集合。



扫描仪
编程语言: Python
-
我使用了OpenCV包来访问设备摄像头并启用二维码扫描功能。通过利用OpenCV,我能够从摄像头馈送中捕获帧并处理它们以进行二维码检测。
-
为了验证扫描的二维码,我与我的数据库建立了连接。我从数据库中检索了相关数据,并将其与从扫描的二维码中提取的数据进行了比较。
-
在检测到二维码并检索到数据后,我实现了一个验证机制来检查扫描的二维码数据是否与数据库中存储的数据匹配。如果找到匹配项,我将允许与该二维码相关的人员入场或授予权限。

应用场景
此应用最适合于
- 研讨会和培训课程。
- 社区聚会和社交活动。
- 为教育目的举办的活动。
- 企业活动。
- 文化活动。
- 体育赛事。
作者
反馈
如果您有任何反馈,请联系我:[email protected]