|
|
||
|---|---|---|
| .. | ||
| app | ||
| assets | ||
| components | ||
| constants | ||
| plugins | ||
| scripts | ||
| .gitignore | ||
| app.config.js | ||
| babel.config.js | ||
| eas.json | ||
| expo-env.d.ts | ||
| metro.config.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
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=dev→https://itms.zioinfo.co.krITMS_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 검증까지 완료).