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

2024. 10. 10. 18:28·스터디
목차
  1. 🌿 초기설정 - VSCode, Git, nvm, TypeScript
  2. VSCode
  3. TypeScript 설치
  4. 🌿 Next.js 프로젝트 생성
  5. Create Next App
  6.  
  7. 🌿 UI 구현(with Tailwind CSS)
  8. 🌿 첫 Supabase 프로젝트 생성
  9.  
  10. 🌿 Next.js에 Supabase SDK 적용하기

🌿 초기설정 - 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
  1. 🌿 초기설정 - VSCode, Git, nvm, TypeScript
  2. VSCode
  3. TypeScript 설치
  4. 🌿 Next.js 프로젝트 생성
  5. Create Next App
  6.  
  7. 🌿 UI 구현(with Tailwind CSS)
  8. 🌿 첫 Supabase 프로젝트 생성
  9.  
  10. 🌿 Next.js에 Supabase SDK 적용하기
'스터디' 카테고리의 다른 글
  • 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)
  • 블로그 메뉴

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

  • 태그

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

  • 최근 글

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

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.