홍진경
🐶 AI 찐친
📚 학습반장
🚀 SNS 챌린지 달성자

Lovable/Cursor로 랜딩페이지 만들고 배포해보기

소개

개인 랜딩페이지를 만들기 위해 PRD를 기반으로 웹사이트 프론트 디자인(Lovable), 코드 수정(Cursor), 백엔드 데이터베이스 연동(Supabase), 깃허브(Github) 저장소 업로드, 프로덕션 배포(Publish)까지 진행했습니다. 이 과정을 통해 자동화, 배포 환경 구성, 협업 문서 작성 등 다양한 경험을 쌓을 수 있었고, 동시에 여러 문제를 마주하고 해결하는 과정에서 많은 걸 배웠습니다. 💪

진행 방법

사용 도구

  • PRD 작성: ChatGPT

  • 디자인 및 배포 플랫폼: Lovable

  • 코드 편집기: Cursor

  • 버전 관리 및 저장: GitHub

  • 데이터베이스: Supabase

  • 비교한 배포 플랫폼들: Vercel, Firebase Hosting, Replit, Lovable/V0

전체 흐름 요약

  1. 챗GPT에서 간단버전 PRD 작성 (by 성장피터님 gpts)

  2. 러버블 디자인 후 깃허브 저장소에 코드 연동 (.vs. v0에서는 바로 download 됨)

  3. GitHub 저장소 코드를 로컬 터미널 (git bash)에서 클론

  4. Cursor에서 새프로젝트를 오픈하고, 코드 수정 시작 & 개발환경 로컬서버 셋팅

  5. SSH 키 생성 → GitHub에 등록하여 푸시/풀 가능하게 설정

  6. Supabase와 연동:

    • 커서에서 .env 파일에 Supabase URL 및 키 저장

    • .gitignore.env 추가해 보안 유지

  7. 코드 분석 및 관리:

    • prd.md 작성하여 기획 정리 (.vs. 기본 버전에는 prd.md 가 없음)

    • README.md 프로젝트 내용으로 업데이트 (.vs. 기본 버전에는 lovable 내용이 써있음)

  8. 코드 수정 > Git 커밋 > Push >

    러버블 대시보드에서 Refresh & Publish로 최종코드 반영 배포

주요 프롬프트/설정 예시

# .env 예시
SUPABASE_URL=https://xxx.supabase.co
SUPABASE_ANON_KEY=your-key-here
git add .
git commit -m "supabase 연동 반영"
git push origin main

🙂 결과 (웹사이트와 데이터베이스)

https://ai-spark-consult.lovable.app/

파란색과 흰색 색상의 웹 사이트 홈�페이지

문의하기 입력정보 데이터베이스

휴대폰의 설정 메뉴의 스크린 샷

😅 시행착오 (.env 파일과 환경변수 셋팅에 관한 것)

  1. 처음엔 로컬 환경에서 .env 파일을 설정하고 Supabase 연결까지 문제없이 진행됐습니다. 그러나 배포 과정에서 다음과 같은 이슈들이 발생했습니다:

    • 첫 번째 커밋 시점에는 .env 파일이 깃허브에 그대로 포함되어 올라감 😱

    • 이후 .gitignore.env를 추가해 민감정보는 보호했지만,

    • 러버블에서 Refresh 시 오류 발생

      • 원인: 프로덕션 환경에서는 .env를 사용할 수 없어서 환경변수가 존재하지 않음

      • Supabase 연결 코드가 작동하지 않게 되어 페이지가 정상적으로 렌더링되지 않음

  2. 배포 플랫폼 특징을 비교해봄. (다음에는 vercel로 해야겠다.)

    항목

    Vercel

    Firebase Hosting

    Replit

    Lovable/v0

    환경변수 관리

    O

    O (Secrets)

    X/△

    자동 배포

    O

    X (수동)

    O (제한적)

    정적 사이트

    O

    O

    O

    O

    서버리스/백엔드

    O

    O

    O

    X

    협업/공유

    O

    O

    무료 플랜

    O

    O

    O

    O

  3. 깨달은 점

  • 러버블의 무료 플랜에서는 환경변수 셋팅 기능이 제공되지 않음

  • 환경변수를 사용해야 하는 구조에서는 러버블만으로는 배포가 불가능

  • 반대로, 단순한 정적 페이지의 경우에는 문제 없이 배포 가능

  • 러버블은 GitHub 커밋만으로 자동 반영되지 않음 → 직접 대시보드에서 Refresh 클릭 필요

결과와 배운 점

✅ 배운 점

  • 환경변수 관리의 중요성: .env 파일을 통해 민감정보를 노출하지 않는 구조

  • 배포플랫폼 특징의 비교 분석: 나에게 유리한 것을 선택 함.

  • 문서화: prd.md, README.md 작성이 내용 관리 및 팀 공유에 도움.

🔜 다음 계획

  • 배포를 쉽게 하는 플랫폼과 프로세스 실험 (vercel, replit, firebase 등)

  • 러버블+n8n 연동

도움 받은 글 (옵션)


7
4개의 답글

👉 이 게시글도 읽어보세요