Skip to Content
StudioGo๊ด€๋ฆฌ์ž ๋งค๋‰ด์–ผ๋ฐฐํฌ

๋ฐฐํฌ

StudioGo ๋ฐฐํฌ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.

๋ชจ๋…ธ๋ ˆํฌ ๊ตฌ์กฐ

studiogo/ โ”œโ”€โ”€ apps/ โ”‚ โ”œโ”€โ”€ mobile/ # Expo ์•ฑ (React Native) โ”‚ โ””โ”€โ”€ api/ # Hono API (Vercel Serverless) โ”œโ”€โ”€ shared/ โ”‚ โ”œโ”€โ”€ domain/ # ์ˆœ์ˆ˜ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™ โ”‚ โ”œโ”€โ”€ contracts/ # Zod ์Šคํ‚ค๋งˆ, DTO โ”‚ โ”œโ”€โ”€ db/ # Drizzle ์Šคํ‚ค๋งˆ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ โ”‚ โ””โ”€โ”€ constants/ # ๊ณต์œ  ์ƒ์ˆ˜

API ์„œ๋ฒ„ ๋ฐฐํฌ (Vercel Serverless)

main ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œ ์‹œ Vercel์ด ์ž๋™ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๋ณ€์ˆ˜์„ค๋ช…
DATABASE_URLNeon PostgreSQL ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด
KAKAO_CLIENT_ID์นด์นด์˜ค ๋กœ๊ทธ์ธ ์•ฑ ํ‚ค
KAKAO_CLIENT_SECRET์นด์นด์˜ค ๋กœ๊ทธ์ธ ์‹œํฌ๋ฆฟ
CRON_SECRETํฌ๋ก  ์ž‘์—… ๋ณด์•ˆ ํ‚ค
EXPO_PUSH_TOKENExpo Push ์•Œ๋ฆผ ํ† ํฐ

๋ชจ๋ฐ”์ผ ์•ฑ ๋ฐฐํฌ

EAS Build (Expo Application Services)

# iOS ๋นŒ๋“œ eas build --platform ios --profile production # Android ๋นŒ๋“œ eas build --platform android --profile production # ์Šคํ† ์–ด ์ œ์ถœ eas submit --platform ios eas submit --platform android

OTA ์—…๋ฐ์ดํŠธ

๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ OTA(Over The Air) ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ:

eas update --branch production --message "์—…๋ฐ์ดํŠธ ์„ค๋ช…"

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

# Drizzle ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ƒ์„ฑ npx drizzle-kit generate # ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ ์šฉ npx drizzle-kit migrate

๊ฐœ๋ฐœ ์„œ๋ฒ„

npm run dev:all # ๋ชจ๋ฐ”์ผ + API ๋™์‹œ ์‹คํ–‰