Skip to content

refactor: organize mobile source by feature - #3

Draft
dohyeon16 wants to merge 7 commits into
feature/workproof-major-enhancementsfrom
refactor/feature-based-structure
Draft

refactor: organize mobile source by feature#3
dohyeon16 wants to merge 7 commits into
feature/workproof-major-enhancementsfrom
refactor/feature-based-structure

Conversation

@dohyeon16

Copy link
Copy Markdown
Owner

목적

모바일 소스 구조를 기술 레이어 중심에서 기능(feature) + 도메인/인프라(core) + 공용(shared) 중심 구조로 정리합니다. 동작 변경 없이 파일 위치와 import 경로만 바꿉니다.

새 구조

src/
├─ app/navigation/         # RootNavigator, MainTabs, navigation types
├─ core/                    # 여러 기능이 공유하는 도메인·데이터·인프라
│  ├─ domain/models        # types
│  ├─ domain/payroll       # payCalc
│  ├─ data                 # storage, storageKeys
│  ├─ notifications        # notifications, notificationsFeed
│  └─ backup               # backup(+web)
├─ features/               # 기능별 화면 + 전용 서비스/유틸
│  ├─ auth · onboarding · home · workplace · attendance
│  ├─ payroll · schedule · notifications · evidence
│  └─ security · settings · legal
└─ shared/                 # 업무 의미 없는 공용 UI·기술 유틸
   ├─ components · hooks · theme · utils

의존성 방향: app → features → core → shared (core는 feature를 참조하지 않고, shared는 core/feature를 참조하지 않음).

주요 변경 (커밋 6개, 각 커밋 독립 컴파일)

  1. refactor: introduce core, shared, and app layers
  2. refactor: group authentication and onboarding features
  3. refactor: group workplace, attendance, and home features
  4. refactor: group payroll and schedule features
  5. refactor: group evidence and notifications features
  6. refactor: group security, settings, and legal features
  • 화면 33개를 단일 screens/ 폴더에서 기능별로 분리
  • 기능 전용 서비스/유틸을 해당 기능 폴더로 이동, 크로스-피처 허브는 core로 분리
  • navigation·테스트·App.tsx import 경로 갱신
  • 89개 파일 전부 git rename으로 인식, 변경 라인은 import 경로뿐

변경하지 않은 것

  • 화면 동작 · 급여 계산식 · API 호출 · AsyncStorage 키
  • UI 디자인과 문구 · package 의존성 · GitHub Actions 설정

자동 검증

  • npx tsc --noEmit — 오류 0
  • npm test — 20/20 통과
  • npx expo export --platform web — 번들 생성 성공
  • package-lock.json 변경 없음

검토 주의사항

이 PR은 Draft PR #1의 기능 브랜치를 base로 하는 stacked PR입니다. PR #1과 Issue #2의 네이티브 검증에는 포함되지 않으며, 기능 PR이 정리된 뒤 별도로 검토·병합합니다. Draft 상태로 유지하고 자동 병합하지 마세요.

🤖 Generated with Claude Code

도현 and others added 7 commits July 29, 2026 14:07
Move cross-cutting domain, data, and infrastructure modules out of the
flat src root into dedicated layers, without changing any behavior:

- core/domain/models (types), core/domain/payroll (payCalc)
- core/data (storage, storageKeys), core/backup, core/notifications
- shared/components, shared/hooks, shared/theme, shared/utils
- app/navigation

Only file locations and import paths change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcbxRenBCDifWFM3DDghaE
Move auth screens and OAuth services under features/auth, and the
onboarding/splash flow under features/onboarding. Import paths only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcbxRenBCDifWFM3DDghaE
Move workplace screens with the kakao places service and the location
map picker into features/workplace; attendance screens with geo and
current-location utils into features/attendance; HomeScreen into
features/home. Import paths only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcbxRenBCDifWFM3DDghaE
Move pay input/compare, report, analysis, and checklist screens with the
report service into features/payroll; ScheduleFormScreen into
features/schedule. Import paths only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcbxRenBCDifWFM3DDghaE
Move Vault and ShareComplete screens with the contract AI and OCR
services into features/evidence; NotificationsScreen into
features/notifications. Import paths only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcbxRenBCDifWFM3DDghaE
Move AppLockGate with the app-lock services into features/security;
MoreScreen into features/settings; the legal document screen and its
content into features/legal. Import paths only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcbxRenBCDifWFM3DDghaE
Run the mobile CI workflow for pull requests targeting the
feature/workproof-major-enhancements base branch, so stacked PRs
(e.g. the feature-based refactor) get typecheck, tests, and web build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcbxRenBCDifWFM3DDghaE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant