02. Next.js와 Supabase로 미니 노트앱 만들기

2024. 10. 10. 18:28·스터디

🌿 초기설정 - VSCode, Git, nvm, TypeScript

VSCode

설치해야 할 플러그인

  • Prettier 포맷터 플러그인
  • TailwindCSS 플러그인
  • Github Copilot (선택)

TypeScript 설치

npm i -g typescript

🌿 Next.js 프로젝트 생성

Create Next App

npx create-next-app@latest inflearn-supabase-note

 

🌿 UI 구현(with Tailwind CSS)

Tailwind CSS 써보니까 너무 편하다.. 다만 뭐가 있는지 알아야 유용하긴 한데, className 알고 잘 쓰면 너무 편할 것 같다.

🌿 첫 Supabase 프로젝트 생성

Supabase | The Open Source Firebase Alternative

Create a new organization

Create a new Project

프로젝트 생성 후 아래 값들 저장해두기

  • DB Password
  • Supabase Project URL
  • Supabase Anon Key
  • Supabase Service Role : 이번 예제에서는 사용 X
  •  
  • Settings > Configuration > API 탭에 Project URL, Anon Key, Service Role Key 

 

TableEditor 탭에서 Note 테이블 생성 후 테스트용 데이터 하나 넣기

  • id
  • title → varchar
  • content → text
  • created_at

🌿 Next.js에 Supabase SDK 적용하기

Supabase 설치

npm i --save @supabase/supabase-js

.env 파일에 supabase url, supabase anon key 넣기

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=

package.json에 generate-types 커맨드 추가하기

  • supabase의 gen이라는 커맨드를 통해서 typescript로 실제 DB에 있는 note 테이블 타입 생성
  • project_id : supabase url에서 앞부분 ( ybagycqyjklicovcxujk )
{
  "scripts": {
    # ...
    "generate-types": "npx supabase gen types typescript --project-id [project_id] --schema public > types_db.ts"
  }
}

터미널에서 Supabase 로그인 진행 & generate-types 진행

npx supabase login
# 브라우저가 열리면서 Supbase 로그인

npm run generate-types
# 정상로그인 후 처리가 되면 types_db.ts 파일이 새로 생성된다.

Supabase client 생성

  • utils/supabase.ts 파일 생성
import { createClient } from "@supabase/supabase-js";
import { Database } from "../types_db";

const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL as string;
const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY as string;

export const supabase = createClient<Database>(supabaseUrl, supabaseKey);

 

Supabase에서 데이터베이스 연동해서 기능 처리하는 것을 실습해 보았는데 생각보다 간편해서 사이드 프로젝트 진행할때 좋을 것 같다. 공식 문서 읽어보면서 다른 기능들을 좀 더 공부해 봐야겠다.

'스터디' 카테고리의 다른 글

01. Supabase 기능 둘러보기  (0) 2024.10.10
00. Firebase vs. Supabase  (3) 2024.10.09
'스터디' 카테고리의 다른 글
  • 01. Supabase 기능 둘러보기
  • 00. Firebase vs. Supabase
개발자 화진
개발자 화진
https://github.com/HwajinLee3114
  • 개발자 화진
    lhjin.log
    개발자 화진
  • 전체
    오늘
    어제
    • 분류 전체보기 (31)
      • 개발 (10)
        • FE (9)
        • BE (0)
      • Algorithm (0)
      • 기술면접 (4)
      • 스터디 (14)
        • 사이드 프로젝트 (7)
        • Udemy) NextJS 15 & React (3)
        • Udemy) TypeScript with Reac.. (1)
      • ETC (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    유데미 코리아
    fe
    vercel
    코딩앙마
    티스토리챌린지
    Typescript
    Frontend
    프론트엔드
    javascript
    유데미 스터디
    자바스크립트
    React
    Zustand
    udemy
    모노레포
    NextJS
    유데미 러닝크루
    pnpm
    lazy loading
    아키텍처
    오블완
    프론트엔드 아키텍처
    유데미
    인프런
    멀티레포
    multirepo
    사이드프로젝트
    supabase
    ThemeProvider
    Next.js
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
개발자 화진
02. Next.js와 Supabase로 미니 노트앱 만들기
상단으로

티스토리툴바