Vigilanterp
Bitcamp 2022 提交项目。作者:Andrew Muirhead、Jason Steinberg 和 Yuvan Sundrani。
灵感
我的家人一直依赖“邻里App”来追踪我们社区周围的可疑活动。人们可以匿名举报犯罪或疑似犯罪,并通知他们的邻居。这些报告会被记录并显示在地图上,以便概述社区周围的任何威胁。
Terp 的夜生活是 UMD 社交的重要组成部分。我们决定采用与“邻里App”类似的方法来保护校园里弱势的 Terps。想象一下,你和你的朋友晚上10点走回宿舍,一个奇怪的老人开始跟着你们。你们设法甩掉了他,但你们担心他可能会去骚扰其他人。如果你不想报警,可以在 Vigilanterp 上提交匿名报告,描述嫌疑人、事件和事件的自动记录位置。事件将显示在实时图标编码的地图上,供所有 Terps 查看。一份报告可以包含一个表单,也可以包含一段录音,内容可以是你自己、一个情况或一个可疑的人。这些录音是公开报告的一部分,可以通过云访问,警方可以实时获取。
它的功能
打开应用程序后,系统会提示您提交报告或查看报告地图。如果您选择提交报告,您将对报告进行分类并填写表格。一份可选的录音可以伴随您的报告,提供更多背景信息或证据。录音会自动上传到云端,因此警方可以即时访问!提交报告后,它将作为浮动标记出现在实时事件地图上,位于事件发生的位置,警方和附近的 用户都可以访问。
我们是如何构建的
我们使用 Flutter(一个用于开发跨平台移动应用程序的 Dart 框架)构建了前端,并设计了一个简单的用户界面。我们利用了大量的 Flutter 包来录制、压缩和上传视频到 Firebase。Firebase 是我们后端的基础,并将用户录音存储在云端。表单也使用 Firestore 存储在云端。
我们遇到的挑战
除了数小时的包安装和初步的bug修复外,我们遇到的一些挑战包括……
- Firebase 存储限制(促使我们增加了视频压缩功能)
- 工作流程(学习并使用了 Git 和 LiveShare VS 插件来进行工作流程管理)
- Jason 和 Yuvan 是 Flutter 专家。Andrew(我)不是,所以我花了大量时间阅读文档和学习。
- Firebase 和 Camera API 之间的版本冲突
- 将 UI 工作与后端代码合并
- 人们在夜间社交时有什么顾虑?我们问了一群朋友,并将他们的反馈用于设计我们不同的事件类别。
我们引以为豪的成就
- 有效的视频压缩,将云存储需求降低了 3 倍
- 在许多我们都经历过的情况下,这是报警的一个很好的替代方案
- 一个可工作的应用程序!我们在几个小时内将一个想法变成了一个完整的应用程序,可以帮助 Terps 保持安全。
- 学习!在这个过程中,我们都学习了新的 API、语言和框架。能够在仅工作一两天后完成这个最终产品,是我们团队整体感到自豪的事情。
我们学到了什么
- Andrew
- 学习了大量关于 Flutter 和 Dart 开发的知识。
- 使用 Git 和 VS Code Live Share 进行协作的经验。
- Flutter Camera API、位置/坐标 API
- 使用基于小部件的方法设计用户界面
- 将表单和视频上传到云端
- 视频压缩以最大化云存储
- Yuvan
- 进一步提升了我在 Flutter 和 Dart 方面的专业知识。
- 更多地了解了 Firebase 以及将实时数据、资产和录音推送到云端。
- 用户界面(UI/UX)设计。
- 使用 API 获取即时位置坐标。
- Jason
- 获得了使用 Flutter Camera API 的新经验。
- 学习了如何处理视频文件并上传到云端。
- 学习了简化用户界面的技术,包括抽象和阴影的使用。
- 在快速移动应用程序原型制作中练习了效率技术。
Vigilanterp 的下一步
为了将 Vigilanterp 推向市场,我们需要开发一个面向警方的应用程序,以便轻松访问我们的数据库。警方可以直接通过我们的数据库访问数据,但我们需要将我们的原始数据转换为简化的、由 AI 驱动的数据和警报,以便为警方提供最有效有用的报告。Vigilanterp 是一款真正能改变游戏规则的应用程序,可以帮助学生和警方保持安全和知情。


