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 대시보드에서 직접 만들어봅시다:
- Table Editor → "Create a new table" 클릭
- 테이블 이름:
reservations - 위의 표에 있는 열들을 하나씩 추가합니다
status열의 Default Value를pending으로 설정합니다
status는 예약의 현재 상태를 나타냅니다:
-
pending= 대기 중 (새 예약)
-
confirmed= 확인됨
-
cancelled= 취소됨
- "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열로 예약 상태(대기/확인/취소)를 관리합니다- 테스트 데이터를 넣어서 준비를 마쳤습니다
- 다음 절에서는 실제 예약 폼 화면을 만들어봅시다