59 lines
1.9 KiB
Markdown
59 lines
1.9 KiB
Markdown
# GoldenChart Mobile App
|
|
|
|
Capacitor + React hybrid app for virtual trading, strategy editor, notifications, and settings.
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
# From repo root
|
|
npm install
|
|
npm run dev:app
|
|
```
|
|
|
|
## Native build
|
|
|
|
```bash
|
|
npm run build:app
|
|
npm run cap:sync
|
|
npm run cap:android # or cap:ios
|
|
```
|
|
|
|
## exdev.co.kr APK 배포
|
|
|
|
소스는 `git push origin main` (Jenkins). APK만 로컬 빌드 후 업로드:
|
|
|
|
```bash
|
|
./scripts/upload-android-apk.sh --build --version 1.0.0
|
|
```
|
|
|
|
`app/.env` 예: `VITE_API_BASE_URL=https://stock.exdev.co.kr/api`
|
|
|
|
자세한 내용: [`data/mobile-releases/README.md`](../data/mobile-releases/README.md)
|
|
|
|
## Environment
|
|
|
|
Copy `.env.example` to `.env` and set `VITE_API_BASE_URL`.
|
|
|
|
### 로그인 시 "Failed to fetch" / "서버 응답이 느립니다"
|
|
|
|
- API는 **`https://stock.exdev.co.kr/api`** 만 사용 (`https://stock.exdev.co.kr` 은 443 미개방).
|
|
- exdev 로그인은 **10~30초** 걸릴 수 있음 — 2분 타임아웃까지 대기.
|
|
- APK는 `app/.env`의 `VITE_API_BASE_URL`이 빌드에 포함되어야 함.
|
|
- `androidScheme`은 **`http`**. `CapacitorHttp`는 비활성(로그인 fetch 안정화).
|
|
- 설정에 `localhost`·`https://` API가 저장돼 있으면 앱 시작 시 제거·`http`로 교정.
|
|
|
|
## FCM (Firebase)
|
|
|
|
- Android: `app/android/app/google-services.json` — [FCM_SETUP.md](android/FCM_SETUP.md) 참고
|
|
goldenApp(`goldenanalysisapp`)과 동일 프로젝트, 패키지 `com.goldenchart.app` 등록 필요
|
|
- 설정: `./scripts/setup-android-fcm.sh [다운로드한 json 경로]`
|
|
- iOS: `ios/App/GoogleService-Info.plist` + Push Notifications capability
|
|
- Backend: `FIREBASE_ENABLED=true` + `firebase-service-account.json`
|
|
- 앱: 로그인 후 설정에서 **FCM 푸시** ON + 알림 권한 허용
|
|
|
|
## Structure
|
|
|
|
- `src/screens/` — mobile UI (virtual, strategy, notifications, settings)
|
|
- `../packages/shared/` — API client + Capacitor storage
|
|
- `../frontend/src/` — shared business logic (hooks, utils) via `@frontend` alias
|