mirror of
https://gitee.com/wanwujie/sub2api-mobile
synced 2026-04-02 22:42:14 +08:00
4c1fb895d6a0df015eebfc66b029a6ef7b98f841
sub2api-mobile
Mobile-first admin console for Sub2API operations, built with Expo + React Native + Expo Router.
Mobile Preview
Highlights
- Cross-platform app (iOS / Android / Web) for operational and admin workflows.
- Server health and metrics monitoring views.
- User, API key, account, and group management pages.
- Multi-account admin server switching in settings.
Tech Stack
- Expo SDK 54
- React Native 0.81
- React 19
- Expo Router
- TanStack Query
- Valtio
Prerequisites
- Node.js 20+
- npm 10+
Getting Started
Install dependencies:
npm ci
Run locally:
npm run start
Common targets:
npm run android
npm run ios
npm run web
Build & Release
EAS scripts:
npm run eas:build:development
npm run eas:build:preview
npm run eas:build:production
OTA update scripts:
npm run eas:update:preview -- "your message"
npm run eas:update:production -- "your message"
Additional release notes: docs/EXPO_RELEASE.md
GitHub Actions Android build (downloadable):
- Workflow:
.github/workflows/eas-build.yml - Trigger: Actions → EAS Build → Run workflow
- Inputs:
profile=preview,platform=android - Requirement: repository secret
EXPO_TOKEN - Download: after completion, open the run Summary and use the
ANDROID downloadlink.
Project Structure
app/ Expo Router routes/screens
src/components/ Reusable UI components
src/services/ Admin API request layer
src/store/ Global config/account state (Valtio)
src/lib/ Utilities, query client, fetch helpers
docs/ Operational and release documentation
server/ Local Express proxy for admin APIs
Security Notes
- Web builds are intentionally configured to avoid persistent storage of
adminApiKey. - Native platforms continue to use secure storage semantics.
- For responsible disclosure, see SECURITY.md.
Contributing
Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md.
License
This project is licensed under the MIT License. See LICENSE.
Languages
TypeScript
96.9%
JavaScript
3.1%