ν° λͺ©νλ₯Ό μμ κ±ΈμμΌλ‘! OneStepμ νλ‘ νΈμλ λ ν¬μ§ν 리μ λλ€.
OneStepμ μ¬μ©μκ° λͺ©νλ₯Ό μμ λ¨κ³λ‘ λλμ΄ κΎΈμ€ν μ€μ²ν μ μλλ‘ λλ ν¬λ κ΄λ¦¬ μλΉμ€μ λλ€. React Nativeμ Expoλ₯Ό κΈ°λ°μΌλ‘ ꡬμΆλ ν¬λ‘μ€ νλ«νΌ λͺ¨λ°μΌ μ ν리μΌμ΄μ μ λλ€.
νλ μ΄μ€ν μ΄
μ±μ€ν μ΄
- νλ μμν¬: React Native, Expo
- μν κ΄λ¦¬: Zustand
- API ν΅μ : React Query, Axios
- μΈμ¦: Firebase Authentication
- λͺ¨λν°λ§: Firebase Analytics, Sentry
- UI λΌμ΄λΈλ¬λ¦¬: UI Kitten, React Native Elements
- λ€κ΅μ΄: i18next
- ν μ€νΈ: Maestro, Jest
- κ°λ° λꡬ: TypeScript, ESLint, Prettier
- λ°°ν¬: GitHub Actions, EAS Build
frontend/
βββ app/ # Expo Router κΈ°λ° νλ©΄ ꡬμ±
βββ components/ # μ¬μ¬μ© κ°λ₯ν μ»΄ν¬λνΈ
βββ contexts/ # React Context μ μ
βββ hooks/ # Custom React Hooks
βββ utils/ # μ νΈλ¦¬ν° ν¨μ
βββ theme/ # UI ν
λ§ μ€μ
βββ locales/ # λ€κ΅μ΄ μ§μ 리μμ€
βββ types/ # TypeScript νμ
μ μ
βββ tests/ # ν
μ€νΈ νμΌ
- λ ν¬μ§ν 리 ν΄λ‘
git clone https://github.com/your-repo/frontend.git
cd frontend- μμ‘΄μ± μ€μΉ
npm install- κ°λ° νκ²½ μ€ν
# λ‘컬 κ°λ°
npm run start:local
# κ°λ° μλ²
npm run start:dev
# μ€ν
μ΄μ§ μλ²
npm run start:stage
# νλ‘λμ
μλ²
npm run start:prod# iOS
npm run ios:local
npm run ios:dev
npm run ios:stage
npm run ios:prod
# Android
npm run android:local
npm run android:dev
npm run android:stage
npm run android:prod# λ¨μ ν
μ€νΈ μ€ν
npm run test
# E2E ν
μ€νΈ μ€ν (Android)
npm run e2e-test:android
# E2E ν
μ€νΈ μ€ν (iOS)
npm run e2e-test:ios# λ¦°νΈ κ²μ¬ λ° μμ
npm run lint
# νμ
체ν¬
npm run type-check
# μ½λ ν¬λ§·ν
κ²μ¬
npm run prettier-checkνλ‘μ νΈ λ£¨νΈμ λ€μ νκ²½ λ³μ νμΌλ€μ μ€μ ν΄μΌ ν©λλ€:
.env.local: λ‘컬 κ°λ° νκ²½.env: κ°λ° νκ²½.env.e2e: E2E ν μ€νΈ νκ²½
νλ‘μ νΈμ λν λ¬Έμμ¬νμ μλ μ΄λ©μΌλ‘ μ°λ½μ£ΌμΈμ:
π§ szonestep@gmail.com