Files

GoldenChart Mobile App

Capacitor + React hybrid app for virtual trading, strategy editor, notifications, and settings.

Setup

# From repo root
npm install
npm run dev:app

Native build

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만 로컬 빌드 후 업로드:

./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

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/.envVITE_API_BASE_URL이 빌드에 포함되어야 함.
  • androidSchemehttp. CapacitorHttp는 비활성(로그인 fetch 안정화).
  • 설정에 localhost·https:// API가 저장돼 있으면 앱 시작 시 제거·http로 교정.

FCM (Firebase)

  • Android: app/android/app/google-services.jsonFCM_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