死了吗-为独居人士开发的app

9 小时前
2
1
摘要
这篇文章介绍了一款受苹果商店付费应用启发、利用AI辅助开发的安卓端“死了吗”App,专为独居人士设计:每日中午12点强制打卡签到,数据云端同步,超时未签可触发提醒;支持使用作者提供的公共服务器或自行部署Python后端(FastAPI + SQLite),并带有网页管理面板,整体通过简单的签到机制为独居安全提供了一种低成本的监测方案。

死了吗-为独居人士开发的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/                    ← 备份/数据提取规则

技术栈

后端前端
语言PythonKotlin
框架FastAPI 0.104.1Jetpack Compose + Material 3
架构单文件 RESTful APIMVVM
数据库SQLite3DataStore (本地)
网络UvicornRetrofit + 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链接请挂梯子下载

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...