- Client (Mobile): React Native (Expo), TypeScript
- State Management: Zustand, React Query
- Navigation: React Navigation
- Charts: Victory Native
- Backend (BaaS): Supabase (PostgreSQL, Auth, Storage, Edge Functions)
- Package Manager: pnpm (Monorepo)
이 프로젝트를 로컬 환경에서 실행하는 방법입니다.
git clone [우리 깃허브 레포 주소]
cd [우리 레포 폴더 이름]루트 디렉토리에서 pnpm을 사용해 모든 패키지를 설치합니다.
pnpm installSupabase 프로젝트의 API 키가 필요합니다.
-
Supabase 대시보드에서 Project API Keys를 복사합니다.
-
apps/mobile폴더에.env파일을 생성하고, Supabase URL과 Anon Key를 입력합니다.# apps/mobile/.env EXPO_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL EXPO_PUBLIC_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
터미널에서 아래 명령어를 실행하여 Expo 개발 서버를 시작합니다.
# 루트 폴더에서 실행
pnpm --filter mobile start
# 다른 네트워크에서 접속
pnpm --filter mobile start -- --tunnel터미널에 QR 코드가 나타나면, 스마트폰의 Expo Go 앱으로 스캔하여 앱을 실행할 수 있습니다.
이 프로젝트는 pnpm Workspaces를 사용한 Monorepo 구조입니다.
apps/mobile: React Native (Expo) 모바일 앱 코드apps/server: Supabase Edge Functions 등 서버 관련 코드packages/types: 클라이언트와 서버가 공유하는 TypeScript 타입