Part 6. 프로젝트 2 — 예약 시스템

6.1

읽기 8분 · 동영상 5분

6-1. 기획 — 예약 시스템 설계하기

두 번째 프로젝트를 시작합니다

Part 5에서 데이터베이스의 기초를 배웠습니다.

이제 그 지식을 활용해서 진짜 쓸 수 있는 예약 시스템을 만들어봅시다!

미용실, 식당, 병원, 학원 — 어떤 업종이든 예약 기능은 꼭 필요합니다.

직접 만들면 월 이용료 없이 무료로 사용할 수 있습니다.


어떤 업종으로 만들까요?

먼저 어떤 종류의 예약 시스템을 만들지 정해봅시다.

업종 예약 시 필요한 정보
미용실/네일샵 이름, 전화번호, 날짜, 시간, 원하는 서비스
식당/카페 이름, 전화번호, 날짜, 시간, 인원수
병원/한의원 이름, 전화번호, 날짜, 시간, 증상 메모
학원/과외 이름, 전화번호, 날짜, 시간, 수강 과목
요가/필라테스 이름, 전화번호, 날짜, 시간, 수업 종류

이 강의에서는 어떤 업종이든 적용할 수 있도록 범용적으로 만듭니다.

여러분의 상황에 맞게 항목을 바꿔서 사용하세요.


예약에 필요한 정보 정리

모든 예약 시스템에 공통으로 필요한 정보입니다:

정보 왜 필요한가요? 예시
이름 누가 예약했는지 확인 김영희
전화번호 연락용 010-1234-5678
날짜 언제 방문하는지 2026-03-20
시간 몇 시에 오는지 14:00
서비스/메모 원하는 것 커트 + 펌
요청사항 추가 요청 창가 자리 부탁드려요

Supabase 테이블 설계

위의 정보를 저장할 테이블을 설계합니다:

열 이름 타입 설명 자동 여부
id int8 예약 번호 자동
name text 예약자 이름 직접 입력
phone text 전화번호 직접 입력
date date 예약 날짜 직접 입력
time text 예약 시간 직접 입력
service text 서비스/메모 직접 입력
notes text 요청사항 직접 입력
status text 상태 (대기/확인/취소) 기본값: pending
created_at timestamptz 예약 등록 시간 자동

테이블 만들기

Supabase 대시보드에서 직접 만들어봅시다:

  1. Table Editor"Create a new table" 클릭
  2. 테이블 이름: reservations
  3. 위의 표에 있는 열들을 하나씩 추가합니다
  4. status 열의 Default Valuepending으로 설정합니다

status는 예약의 현재 상태를 나타냅니다:

- pending = 대기 중 (새 예약)

- confirmed = 확인됨

- cancelled = 취소됨

  1. "Save" 를 클릭합니다

테스트 데이터 넣어보기

테이블이 만들어졌으면 테스트 데이터를 2~3개 넣어봅시다:

name phone date time service notes status
김영희 010-1234-5678 2026-03-20 14:00 커트 없음 pending
이철수 010-9876-5432 2026-03-21 10:00 조용한 자리 pending

테스트 데이터를 먼저 넣어두면, 나중에 화면을 만들 때 바로 확인할 수 있어 편리합니다.


이 절의 요약

  • 예약 시스템에 필요한 정보를 정리했습니다 (이름, 전화번호, 날짜, 시간 등)
  • Supabase에 reservations 테이블을 설계하고 만들었습니다
  • status 열로 예약 상태(대기/확인/취소)를 관리합니다
  • 테스트 데이터를 넣어서 준비를 마쳤습니다
  • 다음 절에서는 실제 예약 폼 화면을 만들어봅시다