# 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=&password=&ssoYn=N Authorization: Basic base64(clientId:secretKey) ``` 응답의 `access_token`(JWT) + 평탄화된 사용자 필드(userName·authorities 등)를 저장. 업무 API 는 `POST /xxx.do` + `Authorization: Bearer `, 응답 payload 는 `data` 하위. ## 환경 분기 (app.config.js) - `ITMS_ENV=dev` → `https://itms.zioinfo.co.kr` - `ITMS_ENV=prod` → `https://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 검증까지 완료).