死了吗-为独居人士开发的app
死了吗-为独居人士开发的app
前段时间苹果的app store上上架了一个叫做“死了吗”的app,但是收费没记错的话好像是6块钱
最近openclaw挺火的就顺手做了一个安卓端的
由于是我+ai写的所以软件内有些细节问题没去弄不过大体功能是正常的
客户端效果




服务端+网页管理


特性
1.可以选择自己部署后端也可以选择使用我的服务器作为后端
2.可以自由选择宽限时间
3.软件数据会同步上传云端就算本地软件删除也会进行超时提醒
4.每日中午12点提醒打卡
5.有后端可以查看用户的设置
6.后端可以自行部署stmp邮箱
项目结构
SafeCheckIn-v1/
│
├── 📂 server/ ← 后端 (Python FastAPI)
│ ├── main_final.py ← 主服务器程序 (47.7 KB)
│ ├── config.json ← SMTP 邮件配置
│ ├── requirements.txt ← Python 依赖
│ ├── start.bat ← Windows 启动脚本
│ ├── start.sh ← Linux 启动脚本
│ └── venv/ ← Python 虚拟环境
│
└── 📂 client/ ← 前端 (Android Kotlin)
├── build.gradle.kts ← 项目级构建配置
├── settings.gradle.kts ← Gradle 设置
├── gradle.properties ← Gradle 属性
├── gradlew.bat ← Gradle Wrapper
├── build.bat / build-debug.bat ← 构建脚本
├── README.md / PROJECT.md ← 文档
│
└── 📂 app/
├── build.gradle.kts ← 应用构建配置
│
└── 📂 src/main/
├── AndroidManifest.xml ← 应用清单
│
├── 📂 java/com/safecheckin/app/
│ ├── MainActivity.kt ← 主 Activity
│ ├── SafeCheckInApp.kt ← Application 类
│ │
│ ├── 📂 data/ ← 数据层
│ │ ├── 📂 api/
│ │ │ ├── ApiClient.kt ← Retrofit 客户端
│ │ │ └── SafeCheckInApi.kt ← API 接口定义
│ │ ├── 📂 cloud/
│ │ │ └── CloudDataSource.kt ← 云端数据源
│ │ ├── 📂 local/
│ │ │ └── LocalDataSource.kt ← 本地 DataStore
│ │ ├── 📂 model/
│ │ │ └── Models.kt ← 数据模型
│ │ └── 📂 repository/
│ │ ├── Repository.kt ← 仓库接口
│ │ └── CloudRepository.kt ← 云端仓库实现
│ │
│ ├── 📂 service/ ← Android 服务
│ │ ├── BootReceiver.kt ← 开机广播
│ │ ├── CheckInService.kt ← 签到服务
│ │ ├── CheckInWorker.kt ← WorkManager 后台任务
│ │ └── CheckInNotificationService.kt ← 通知服务
│ │
│ ├── 📂 ui/ ← UI 层 (Jetpack Compose)
│ │ ├── SafeCheckInApp.kt ← Compose 导航入口
│ │ ├── 📂 components/
│ │ │ └── CheckInButton.kt ← 自定义签到按钮
│ │ ├── 📂 theme/
│ │ │ ├── Color.kt ← 颜色定义
│ │ │ ├── Theme.kt ← 主题
│ │ │ └── Typography.kt ← 字体
│ │ └── 📂 screens/
│ │ ├── 📂 auth/ ← 认证模块
│ │ │ ├── LoginScreen.kt
│ │ │ ├── RegisterScreen.kt
│ │ │ ├── ForgotPasswordScreen.kt
│ │ │ └── AuthViewModel.kt
│ │ ├── 📂 home/ ← 首页
│ │ │ ├── HomeScreen.kt
│ │ │ └── HomeViewModel.kt
│ │ ├── 📂 contacts/ ← 联系人
│ │ │ ├── ContactsScreen.kt
│ │ │ └── ContactsViewModel.kt
│ │ ├── 📂 settings/ ← 设置
│ │ │ ├── SettingsScreen.kt
│ │ │ └── SettingsViewModel.kt
│ │ └── 📂 about/ ← 关于
│ │ └── AboutScreen.kt
│ │
│ └── 📂 utils/ ← 工具类
│ ├── TimeUtils.kt ← 时间工具
│ └── NotificationHelper.kt ← 通知帮助
│
└── 📂 res/ ← Android 资源
├── 📂 drawable/ ← 图标
├── 📂 mipmap-anydpi-v26/ ← 自适应图标
├── 📂 values/ ← 颜色/字符串/主题
└── 📂 xml/ ← 备份/数据提取规则技术栈
| 后端 | 前端 | |
|---|---|---|
| 语言 | Python | Kotlin |
| 框架 | FastAPI 0.104.1 | Jetpack Compose + Material 3 |
| 架构 | 单文件 RESTful API | MVVM |
| 数据库 | SQLite3 | DataStore (本地) |
| 网络 | Uvicorn | Retrofit + OkHttp |
| 后台任务 | 定时异步任务 | WorkManager |
部署教程
把server文件夹里的文件全部上传到服务器
随后给start.sh文件权限
chmod -x start.sh给好权限后启动start.sh
./start.sh等待服务启动即可
开启端口8000和9090
8000端口为app对接服务器
9090为网页后端
如果需要更改端口可在main_final.py里更换端口(直接搜索8000或9090全部替换掉)
网页后端默认用户名root密码123456如需更换请修改main_final.py文件
注意:未自带保活程序,请自行使用screen
如果你是windows系统直接运行后端的start.bat即可
关于软件端使用教程
其实这一部分没啥好写的
如果你没有自己部署后端你可以使用我的服务器地址
http://38.14.249.174:8000
我的文件夹里有编译好的apk可以直接使用
点我下载onedrive链接请挂梯子下载