클로드 코드 활용한 풀스택 구축해보기 (2)

소개

지난주에는 frontend 중심으로 구축하여 Digital Ocean 서버에 업로드 하였고,

이어서 Supabase 활용한 DB 구축 및 Vercel 활용한 배포까지 실행

지난주 게시글: https://www.gpters.org/nocode/post/build-full-stack-using-msOIBvzmbvLRwG6

진행 방법

클로드 코드, Supabase DB 및 Vercel 배포를 위해, 구글 뉴스를 관련 키워드를 중심으로 수집해서 DB에 저장하고 업데이트된 내용을 Vercel을 통해 배포하는 것으로 진행

[1] Supabase 설치

  • 클로드 코드에게 설치를 요청하면 다음의 순서로 진행

⏺ 프로젝트에 Supabase를 설치하겠습니다.
npm install @supabase/supabase-js
⏺ 완료! @supabase/supabase-js가 성공적으로 설치되었습니다.
...
Supabase 클라이언트를 초기화하려면 환경 변수나 설정 파일에 URL과 키를 추가해야 합니다. 필요하시면 설정 도움을 드릴 수 있습니다.
... (도움요청)
⏺ 완료! Supabase 설정이 모두 완료되었습니다.
...
1. 환경 변수 파일 (.env.local)
- Supabase URL과 Anon Key를 설정할 수 있는 파일
- 중요: 실제 Supabase 프로젝트의 URL과 키를 입력해야 합니다
  • 개인이 직접 해야되는 작업 (클로드 가이드 요청도 필요시 진행)

    • Supabase 프로젝트 생성:

    • https://supabase.com에서 프로젝트 생성

    • Project Settings → API에서 URL과 anon key 복사

    • 환경 변수 설정

      • REACT_APP_SUPABASE_URL=your_actual_url REACT_APP_SUPABASE_ANON_KEY=your_actual_key

  • 구글 RSS 피드로 부터 수집된 뉴스 표시

    한국 뉴스 웹 사이트의 스크린 샷

[2] Vercel 배포

  • [로컬 폴더 구성]

    • 현재 로컬에서 작업 시, A 라는 폴더아래에 frontend, backend 모두 구현되어 있었음

  • [Vercel 배포위한 클로드 코드 제안]

    • Vercel 배포 요청을 진행하였을때, A와 동등위치에 frontend_vercel, backend_vercel 폴더 생성 후 Github commit 하여 진행

  • [문제점]

    • 로컬에서 수정되거나 업데이트 된 내용과 실시간 연동 불가

    • 클로드 코드가 A 폴더 및 Vercel 배포용 폴더 (frontend_vercel, backend_vercel) 의 내용을 임의로 수정

    => 배포 환경에 대한 최적 설정 필요 (의견 필요합니다.~~)

  • [참고] 배포 갯수가 100개가 넘어가면, 3시간동안 배포 불가

결과와 배운 점

  • Supabase, Vercel 의 설정 부분은 클로드 코드로 요청으로 자동으로 처리하기엔 개인 정보 추가 부분이 있어 한계가 있음

  • 로컬에서 개발 중, Vercel 을 통해 frontend 만 배포하는 경우 backend / DB 연동에 한계가 있음

    • 로컬 backend 접근불가

      • Vercel에 배포된 프론트엔드는 인터넷상에 있으므로 localhost:3001 같은 로컬 백엔드에 접근할 수 없음

      • 백엔드도 인터넷에서 접근 가능한 곳에 배포되어야 함

    • 환경 변수 관리

      • 개발/프로덕션 환경의 API 엔드포인트가 달라짐

      • Vercel 환경 변수로 관리 필요

    • CORS (Cross-Origin Resource Sharing) 문제 상세 설명

      • 브라우저가 보안상의 이유로 다른 출처(origin)의 리소스 접근을 제한하는 정책

    => 근본적으로 frontend와 동일하게 backend도 배포되어야 함

1
1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요