Introduction
Setup
μ΄ νμ΄μ§μμλ Supaplateλ₯Ό μ€ννλ λ° νμν μ΅μνμ μ€μ λ°©λ²μ λ°°μλλ€.
λλΆλΆμ κΈ°λ₯μ κΈ°λ³Έμ μΌλ‘ λΉνμ±νλμ΄ μμΌλ©°, μ΄ν νμ΄μ§μμ κ° κΈ°λ₯μ νλμ© νμ±ννκ³ μ΄ν΄νλ κ³Όμ μ λ€λ£Ήλλ€.
μꡬ μ¬ν
- Node.js 20.x μ΄μ
- Git
- μ½λ μλν° (VSCode, Cursor, etc)
μμνκΈ°
νλ‘μ νΈ μμΆ νκΈ°
λ€μ΄λ‘λν .zip νμΌμ μμΆμ νκ³ μ½λ μλν°μμ ν΄λλ₯Ό μ½λλ€.
μμ‘΄μ± μ€μΉ
cd <your-project-name>
npm install
νκ²½ λ³μ
Supaplateλ νκ²½ λ³μλ₯Ό μ¬μ©νμ¬ μ±μ ꡬμ±νλ©°, '.env.example'λΌλ μμ νμΌμ΄ ν¨κ» μ 곡λλ―λ‘ μ΄ νμΌμ μ΄λ¦μ '.env'λ‘ λ³κ²½ν΄μΌ ν©λλ€.
Linux/MacOS
mv .env.example .env
Windows (PowerShell)
ren .env.example .env
κ°λ° μλ²λ₯Ό μ€ννκΈ° μ μ '.env' νμΌμμ νμν νκ²½ λ³μλ₯Ό μ€μ ν΄μΌ ν©λλ€. κ·Έλ μ§ μμΌλ©΄ λ€μκ³Ό κ°μ μλ¬κ° λ°μν©λλ€:
Internal server error: supabaseUrl is required.
Error: Missing Supabase environment variables
Supabase Setup
URL κ³Ό Keys
Supabaseμ λ‘κ·ΈμΈν ν μ νλ‘μ νΈλ₯Ό μμ±ν©λλ€.
κ°λ ₯ν λ°μ΄ν°λ² μ΄μ€ λΉλ°λ²νΈλ₯Ό μ€μ ν ν λμ€μ λ€μ λ³Ό μ μλλ‘ μμ ν κ³³μ κΈ°λ‘ν΄ λμΈμ. μ΄ν λ€μ νμΈν μ μμ΅λλ€.
λν μ μ μκ² κ°μ₯ κ°κΉμ΄ μ§μμ μ ννμΈμ.
νλ‘μ νΈκ° μμ±λλ©΄ νλ‘μ νΈ μ€μ μ "Data API" μΉμ μΌλ‘ μ΄λν©λλ€.
νλ‘μ νΈ URL
, anon public key
κ·Έλ¦¬κ³ service role key
κ° νμλ©λλ€.
μ΄λ₯Ό λͺ¨λ 볡μ¬νμ¬ '.env' νμΌμ λΆμ¬λ£μ΅λλ€:
# exampleSUPABASE_URL="https://your-project-url.supabase.co"SUPABASE_ANON_KEY="your-anon-key"SUPABASE_SERVICE_ROLE_KEY="your-service-role-key"
λ°μ΄ν°λ² μ΄μ€ URL
Drizzle ORMμ μ¬μ©νμ¬ λ°μ΄ν°λ² μ΄μ€λ₯Ό κ΄λ¦¬νλ €λ©΄ DATABASE_URL
νκ²½ λ³μλ₯Ό μ€μ ν΄μΌ ν©λλ€.
Supabase νλ‘μ νΈμ μλ¨ νμμ€μμ "Connect" λ²νΌμ ν΄λ¦νκ³ 'Shared Pooler' μΉμ μ URLμ 볡μ¬νμ¬ '.env' νμΌμ λΆμ¬λ£μ΅λλ€.
# exampleDATABASE_URL="postgresql://postgres:your-database-password@your-project-region.pooler.supabase.co:5432/postgres"
λ°μ΄ν°λ² μ΄μ€ λ§μ΄κ·Έλ μ΄μ (Migration) μ€ν
λ°μ΄ν°λ² μ΄μ€μ μ€μ λ§μ΄κ·Έλ μ΄μ μ μ μ©νλ €λ©΄ λ€μ λͺ λ Ήμ΄λ₯Ό μ€ννμΈμ:
npm run db:migrate
μ΄ λͺ
λ Ήμ΄λ λ°μ΄ν°λ² μ΄μ€μ profiles
λ° payments
ν
μ΄λΈμ μμ±νκ³ μ μ λ±λ‘μ μ²λ¦¬νλ νΈλ¦¬κ±°μ updated_at
μ΄ μ
λ°μ΄νΈλ₯Ό μ²λ¦¬νλ ν¨μλ₯Ό μμ±ν©λλ€.
μ΄μ λν μμΈν λ΄μ©μ λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§ νμ΄μ§μμ νμΈνμΈμ.
Windows Users Only
Windowsλ₯Ό μ¬μ©νλ κ²½μ° ν°λ―Έλμ cross-env λͺ λ Ήμ μ€μΉν΄μΌ ν©λλ€.
npm install --save-dev cross-env
κ·Έλ° λ€μ dev
μ€ν¬λ¦½νΈμμ cross-envλ₯Ό μ¬μ©νλλ‘ package.json νμΌμ μμ ν©λλ€.
"dev":"cross-env NODE_OPTIONS='--import ./instrument.server.mjs' react-router dev",
κ°λ° μλ² μ€ν
λͺ¨λ νκ²½ λ³μλ₯Ό μ€μ ν ν κ°λ° μλ²λ₯Ό μ€νν μ μμ΅λλ€.
npm run dev
μ±μ΄ http://localhost:5173μμ μ€νλκ³ , ν νμ΄μ§κ° νμλλ κ²μ νμΈν μ μμ΅λλ€.
νλ‘μ νΈλ μμ§ νλ‘λμ (Production) μ€λΉκ° λμ§ μμμΌλ―λ‘, μΆκ° μ€μ μ΄ νμν©λλ€. κ³μ μ½μΌλ©΄μ μ€μ λ°©λ²μ μμ보μΈμ.