itsm_ysm/mobile
itms-merge-dev 5e5ccc0ec7 docs+build(itms): CI/CD 정본 문서·APK 게시 자산·모바일 빌드 수정 (v1.0.0 APK 게시)
- docs/CICD_PIPELINE.md 정본(LIVE) + deploy/README.md 가동중 갱신
- deploy/apk/: publish_app_manifest.sh·mobile-app.html(WISE QR)·itms-latest.json
- deploy/nginx: /mobile-app(ITMS 전용)+/downloads/(APK)+매니페스트 서빙 반영
- mobile: EAS 빌드 의존 승격(react-navigation/expo-modules-core/metro)·.easignore·eas appVersionSource

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 19:41:29 +09:00
..
app feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
assets feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
components feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
constants feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
plugins feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
.easignore docs+build(itms): CI/CD 정본 문서·APK 게시 자산·모바일 빌드 수정 (v1.0.0 APK 게시) 2026-07-19 19:41:29 +09:00
.gitignore feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
app.config.js docs+build(itms): CI/CD 정본 문서·APK 게시 자산·모바일 빌드 수정 (v1.0.0 APK 게시) 2026-07-19 19:41:29 +09:00
babel.config.js feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
eas.json docs+build(itms): CI/CD 정본 문서·APK 게시 자산·모바일 빌드 수정 (v1.0.0 APK 게시) 2026-07-19 19:41:29 +09:00
expo-env.d.ts feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
metro.config.js feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
package-lock.json docs+build(itms): CI/CD 정본 문서·APK 게시 자산·모바일 빌드 수정 (v1.0.0 APK 게시) 2026-07-19 19:41:29 +09:00
package.json docs+build(itms): CI/CD 정본 문서·APK 게시 자산·모바일 빌드 수정 (v1.0.0 APK 게시) 2026-07-19 19:41:29 +09:00
README.md feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00
tsconfig.json feat(itms): 모바일 앱 신규 (Expo, 12화면, OAuth password grant) 2026-07-19 17:10:46 +09:00

ITMS 모바일 앱 (Expo)

URP ITMS(IT 유지보수관리 시스템)의 독립 Expo 모바일 앱. 모노레포 workspace/itms/ 내 순수 Node 프로젝트로, Gradle 컴포짓(settings.gradle)에 포함되지 않는다.

스택

  • Expo SDK 51 · React Native 0.74 · expo-router · TypeScript
  • 디자인: WISE 표준(시안 #11c3ff · 블루 #1f29fc · 카드 UI · 선 아이콘, 이모지 없음)
  • 정본 레퍼런스: workspace/camp/mobile, workspace/uiws/mobile

인증 (실측 계약)

레거시 OAuth2 password grant — 웹 front 와 동일.

POST {BASE}/oauth/token?grant_type=password&username=<userId>&password=<pw>&ssoYn=N
Authorization: Basic base64(clientId:secretKey)

응답의 access_token(JWT) + 평탄화된 사용자 필드(userName·authorities 등)를 저장. 업무 API 는 POST /xxx.do + Authorization: Bearer <jwt>, 응답 payload 는 data 하위.

환경 분기 (app.config.js)

  • ITMS_ENV=devhttps://itms.zioinfo.co.kr
  • ITMS_ENV=prodhttps://itms.wise.ai.kr

★인프라 전제: 현재 리버스 프록시 vhost 는 front(:11020)만 노출한다. 모바일이 동작하려면 nginx 에 /oauth/(→:11000) 및 업무 경로(→:11010) 프록시 블록 활성화가 선결되어야 한다.

실행

cd workspace/itms/mobile
npm install
npm start          # expo (Metro)
npm run typecheck  # tsc --noEmit

화면

로그인 · 홈(대시보드) · 요청(목록/등록/상세) · 인시던트(목록/상세) · 공지(목록/상세) · 내정보(프로필/테마/로그아웃) · 자산(조회/상세).

APK 빌드는 EAS 토큰이 필요하여 이 단계에서 보류(로컬 소스 + tsc 검증까지 완료).