# Sentinel App [中文版](#中文版) ## Digital Legacy Management Sentinel is a mobile application that helps users securely manage their digital legacy. Built with React Native (Expo) and TypeScript. ## Features ### 🗞️ Flow - Captain's Journal - Record daily thoughts, emotions, and reflections - AI-inferred emotional state tracking - Archive entries to the encrypted Vault - Support for text, voice, and image entries ### 📦 Vault - The Deep Vault - End-to-end encrypted asset storage - Support for game accounts, private keys, documents, photos, wills - Biometric authentication required for access - Zero-knowledge architecture ### ⚓ Sentinel - Lighthouse Watch - Dead Man's Switch monitoring system - Heartbeat confirmation mechanism - Subscription and activity tracking - Configurable grace periods ### 🧭 Heritage - Fleet Legacy - Heir management with release levels - Customizable release order and timing - Payment strategy configuration - Legal document-style interface ### ⛵ Me - Captain's Quarters - Subscription and protocol status - Sentinel configuration - Security center - Data export and backup - Social responsibility program ## Tech Stack - **Framework**: React Native (Expo SDK 52) - **Language**: TypeScript - **Navigation**: React Navigation (Bottom Tabs) - **Icons**: @expo/vector-icons (Feather, Ionicons, FontAwesome5) - **Styling**: Custom nautical theme with gradients - **State Management**: React Context (AuthContext) - **Storage**: AsyncStorage for auth persistence ## Configuration The application uses a centralized configuration file located at `src/config/index.ts`. ### Key Configuration Options | Option | Description | Default | |--------|-------------|---------| | `NO_BACKEND_MODE` | Use mock data instead of real backend | `false` | | `DEBUG_MODE` | Enable API debug logging | `true` | | `API_BASE_URL` | Backend API server URL | `http://localhost:8000` | | `API_TIMEOUT` | Request timeout (ms) | `30000` | ### API Endpoints All backend API routes are defined in `API_ENDPOINTS`: - **AUTH**: `/login`, `/register` - **ASSETS**: `/assets/get`, `/assets/create`, `/assets/claim`, `/assets/assign` - **AI**: `/ai/proxy` - **ADMIN**: `/admin/declare-guale` ### Environment Setup For development, you may need to modify `API_BASE_URL` in the config file to match your backend server address. ## Project Structure ``` src/ ├── components/ │ └── common/ │ ├── BiometricModal.tsx │ ├── Icons.tsx │ └── VaultDoorAnimation.tsx ├── config/ │ └── index.ts # Centralized configuration ├── context/ │ └── AuthContext.tsx # Authentication state management ├── navigation/ │ ├── AuthNavigator.tsx # Login/Register navigation │ └── TabNavigator.tsx # Main app navigation ├── screens/ │ ├── FlowScreen.tsx # AI chat interface │ ├── VaultScreen.tsx │ ├── SentinelScreen.tsx │ ├── HeritageScreen.tsx │ ├── MeScreen.tsx │ ├── LoginScreen.tsx │ └── RegisterScreen.tsx ├── services/ │ ├── index.ts # Service exports │ ├── ai.service.ts # AI API integration │ ├── auth.service.ts # Authentication API │ ├── assets.service.ts # Asset management API │ └── admin.service.ts # Admin operations API ├── theme/ │ └── colors.ts └── types/ └── index.ts assets/ ├── icon.png # App icon (1024x1024) ├── adaptive-icon.png # Android adaptive icon ├── splash.png # Splash screen ├── favicon.png # Web favicon (32x32) ├── favicon.svg # SVG favicon for web ├── logo.svg # Vector logo (512x512) └── images/ └── captain-avatar.svg # Avatar placeholder ``` ## Services The application uses a modular service architecture for API communication: - **AuthService**: User authentication (login, register) - **AIService**: AI conversation proxy with support for text and image input - **AssetsService**: Digital asset management - **AdminService**: Administrative operations ## Icons & Branding The Sentinel brand uses a nautical anchor-and-star logo on a teal (#459E9E) background. ### Logo Elements - **Anchor**: Symbolizes stability and anchoring your digital legacy - **Star/Compass**: Represents guidance and direction for heirs - **Teal Color**: Evokes ocean depth and calm security ### Generating Icons ```bash # View icon specifications node scripts/generate-icons.js ``` Use the `assets/logo.svg` as the source and export to required sizes. ## Getting Started ```bash # Install dependencies npm install # Start the development server npx expo start ``` ## Design Philosophy - **Nautical Theme**: Captain's sanctum aesthetic with anchors, ship wheels, and ocean colors - **Emotional Balance**: Warm and secure feeling across different tabs - **Privacy First**: Zero-knowledge architecture, local encryption - **Elegant UI**: Mint gradients, serif typography, subtle shadows --- # 中文版 [English Version](#sentinel-app) ## 数字遗产管理 Sentinel 是一款帮助用户安全管理数字遗产的移动应用程序。使用 React Native (Expo) 和 TypeScript 构建。 ## 功能特性 ### 🗞️ Flow - 船长日志 - 记录日常想法、情感和反思 - AI 推断情感状态追踪 - 将条目归档到加密保险库 - 支持文本、语音和图像条目 ### 📦 Vault - 深海宝库 - 端到端加密资产存储 - 支持游戏账号、私钥、文档、照片、遗嘱 - 需要生物识别认证才能访问 - 零知识架构 ### ⚓ Sentinel - 灯塔守望 - 死人开关监控系统 - 心跳确认机制 - 订阅和活动追踪 - 可配置的冷静期 ### 🧭 Heritage - 舰队遗产 - 继承人管理与释放等级 - 可自定义释放顺序和时间 - 付款策略配置 - 法律文书风格界面 ### ⛵ Me - 船长室 - 订阅和协议状态 - 哨兵配置 - 安全中心 - 数据导出和备份 - 社会责任计划 ## 技术栈 - **框架**: React Native (Expo SDK 52) - **语言**: TypeScript - **导航**: React Navigation (底部标签) - **图标**: @expo/vector-icons (Feather, Ionicons, FontAwesome5) - **样式**: 自定义航海主题配渐变 - **状态管理**: React Context (AuthContext) - **存储**: AsyncStorage 用于认证持久化 ## 配置说明 应用使用位于 `src/config/index.ts` 的集中配置文件。 ### 主要配置项 | 选项 | 说明 | 默认值 | |------|------|--------| | `NO_BACKEND_MODE` | 使用模拟数据而非真实后端 | `false` | | `DEBUG_MODE` | 启用 API 调试日志 | `true` | | `API_BASE_URL` | 后端 API 服务器地址 | `http://localhost:8000` | | `API_TIMEOUT` | 请求超时时间(毫秒) | `30000` | ### API 端点 所有后端 API 路由定义在 `API_ENDPOINTS` 中: - **AUTH**: `/login`, `/register` - **ASSETS**: `/assets/get`, `/assets/create`, `/assets/claim`, `/assets/assign` - **AI**: `/ai/proxy` - **ADMIN**: `/admin/declare-guale` ### 环境配置 开发时,您可能需要修改配置文件中的 `API_BASE_URL` 以匹配您的后端服务器地址。 ## 服务层 应用使用模块化的服务架构进行 API 通信: - **AuthService**: 用户认证(登录、注册) - **AIService**: AI 对话代理,支持文本和图片输入 - **AssetsService**: 数字资产管理 - **AdminService**: 管理员操作 ## 运行项目 ```bash # 安装依赖 npm install # 启动开发服务器 npx expo start ``` ## 图标与品牌 Sentinel 品牌使用青色(#459E9E)背景上的航海锚与星星标志。 ### 标志元素 - **锚**: 象征稳定性和锚定你的数字遗产 - **星星/指南针**: 代表对继承人的指引和方向 - **青色**: 唤起海洋深度和平静的安全感 ### 生成图标 ```bash # 查看图标规格 node scripts/generate-icons.js ``` 使用 `assets/logo.svg` 作为源文件并导出所需尺寸。 ## 设计理念 - **航海主题**: 船长圣殿美学,配以锚、船舵和海洋色彩 - **情感平衡**: 不同标签页带来温暖而安全的感觉 - **隐私优先**: 零知识架构,本地加密 - **优雅界面**: 薄荷渐变、衬线字体、柔和阴影