GET IT DONE AND SHIP IT WITH NO BUGS

Skip to content

feat(templates): add lean RN + Expo mobile bases from life-master

Duong Dong Long requested to merge feat/mobile-templates into main

Two lean mobile starters under templates/mobile/{expo,rn}, extracted and slimmed from the life-master production app (Expo = current app; RN = the pre-Expo bare React Native setup). Shared src/ architecture across both:

  • Navigation: @react-navigation native-stack + bottom-tabs (typed routes)
  • Networking: axios client + @tanstack/react-query, example call typed via @repo/shared
  • i18n + Theme: react-i18next + react-native-localize; theme context + dark/light tokens
  • Env + Forms: react-native-config (.env.example) + react-hook-form (HFTextInput)
  • State: zustand auth store + AsyncStorage wrapper
  • Layering: modules -> core -> app

Flavor differences only in build tooling (entry, babel, metro, tsconfig, app.json). All product code + heavy native deps (maps/voice/appsflyer/player/etc.) and secrets stripped; bundle ids/app name use placeholders. Smoke test extended with mobile asserts.

Verified: generate (mobile+nestjs) -> pnpm install -> build @repo/shared -> tsc --noEmit passes for BOTH expo and rn. No native build performed.

Merge request reports