动机
soTired 是一款用于认知疲劳评估的应用。它包括一个用于疲劳检测的独立 Android 应用,以及用于数据管理和进一步分析的附加部分。该项目结构为客户端(独立应用)
采用 Dart/Flutter 实现,服务器端(数据管理)则使用 Golang 编写。
除了 Android,Dart/Flutter 还提供了从单一代码库添加 iOS、桌面和/或 Web 应用的能力。
soTired 是在
Edward Price、George Moore、Leo Galway 和 Mark Linden 的论文《智能手机作为基础的现场认知疲劳评估方法验证》中提出的应用的重写版本。
论文由 Edward Price、George Moore、Leo Galway 和 Mark Linden 撰写。
如何贡献
非常欢迎提交 PR! :)
您可以按照以下步骤设置您的开发环境。
应用开发环境设置
- 确保您已安装 flutter(版本
2.5.0或更高版本),并且flutter doctor -v在 Android 开发方面没有显示任何
错误。 - 克隆存储库并在终端运行
cd soTired/ && make init来初始化 git 提交前钩子。 - 在
soTired/目录中运行make flutterPubGet来安装所有依赖的包。
服务器开发环境设置
- 确保您已安装 go(版本
1.17或更高版本)。 - 克隆存储库并在终端运行
cd soTired/ && make init来初始化 git 提交前钩子。 - 在
soTired/server/目录中运行go install来安装所有必需项。
现在您可以开始使用了 :)
注意:请查看 Makefile 以获取有关应用程序和服务器部分的有用命令。
如何安装应用程序
- 确保您已安装
adb(或类似的安装应用程序的工具)。(支持的最低 Android
版本为9.0(API level 28)。) - 下载官方版本(在此)或通过在项目根目录运行
make flutterBuild来自行构建。
请注意,您需要先设置好您的开发环境。
您需要先设置好您的开发环境。
如何设置服务器
- 设置好服务器开发环境后,运行
cd soTired && make gobuild来构建服务器。
然后,通过键入cd server && ./soti-server,您将看到服务器帮助信息。请按照这些 - 说明来启动服务器。
要启动服务器,请遵循这些说明。
贡献
如需通过代码进行通信,请使用以下标签之一
FIXME - for a bug which can't be fixed now
TODO - for a feature or are a design change that has to be done later on
NOTE - for an important information
此存储库的 git 工作流程是 **rebase-merge**,这会产生以下形式的历史记录:
F--G
/ \
feature-1 -> B--C E------H <- feature-2
/ \ / \
--A------D----------I <-main
总而言之,主分支仅包含来自其他分支的合并提交,
这些分支会 rebase 到最新的提交上。
文档
有关更多信息,请参阅该应用的 报告。