NextJS 템플릿

Back4App, Next.js 및 Vercel을 이용한 회의실 예약 앱 튜토리얼

23min

이 튜토리얼에서는 Bookit, 회의실 예약 시스템을 구축할 것입니다. 프론트엔드 프레임워크로는 Next.js를 사용하고, 백엔드 서비스로는 Back4App을 사용합니다. 사용자 인증, 방 관리 및 예약 기능을 구현하고, 앱을 Vercel에 배포할 것입니다.

1. 필수 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

2. Back4App 설정하기

  1. Back4App 계정에 로그인하고 프로젝트 대시보드로 이동합니다.
  2. 왼쪽 사이드바에서 데이터베이스를 클릭하여 데이터 브라우저에 접근합니다.
  3. 데이터 모델링을 위해 다음 클래스를 생성해야 합니다:

2.1. 사용자 클래스 생성하기

기본적으로 Parse는 사용자 인증을 처리하므로 이 클래스를 수동으로 생성할 필요가 없습니다. Parse는 다음 필드를 자동으로 관리합니다:

  • 이메일: 로그인용 이메일 주소
  • 비밀번호: 비밀번호 (해시됨)
  • 사용자 이름: 선택적 사용자 이름

2.2. 클래스 만들기

  1. 데이터 브라우저에서 Data Browser, 클릭하여 클래스 만들기, 선택하고 사용자 정의, 그리고 클래스를 , 이름을 지정합니다.
  2. 다음 열을 추가합니다:

열 이름

유형

설명

이름

문자열

방 이름

설명

문자열

방 설명

용량

번호

방이 수용할 수 있는 인원 수

편의 시설

배열

편의 시설 목록 (TV, WiFi 등)

가격

번호

시간당 가격

이미지

파일

이미지 URL

소유자

포인터

지점을 사용자 클래스

2.3. 예약 클래스 만들기

  1. 또 다른 사용자 정의 클래스를 만들기: 예약.
  2. 다음 열을 추가하세요:

열 이름

유형

설명

포인터

다음으로 가리킴: Room 클래스

사용자

포인터

다음으로 가리킴: User 클래스

체크인

날짜

예약의 시작 날짜/시간

체크아웃

날짜

예약의 종료 날짜/시간

3. Next.js 및 Parse SDK 설정하기

  1. 새로운 Next.js 프로젝트 생성하기:
Bash

  1. Parse JS SDK 설치하기:
Bash

  1. pages/_app.js 파일에서 Back4App 자격증명으로 Parse 초기화하기:
JS


'YOUR_APP_ID''YOUR_JAVASCRIPT_KEY'를 Back4App 앱 자격증명으로 교체하세요.

4. 사용자 인증 구현하기

4.1. 사용자 등록

등록 양식이 있는 새 페이지 pages/signup.js 생성하기:

JS


4.2. 사용자 로그인

사용자 로그인을 위한 pages/login.js 생성하기:

JS


4.3. 보호된 경로

보호된 경로의 경우, Next.js API 경로를 사용하고 사용자가 인증되었는지 확인할 수 있습니다:

JS


5. 방 관리

5.1. 사용 가능한 방 표시

다음과 같이 사용 가능한 방을 나열하기 위해 pages/index.js를 생성하세요:

JS


5.2. 방 추가하기

새 방을 추가하기 위해 pages/add-room.js를 생성합니다 (권한이 있는 사용자용):

JS


5.3. 방 세부정보

방에 대한 자세한 정보를 보려면 pages/rooms/[id].js를 생성합니다:

JS


6. 예약 시스템

6.1. 방 예약하기

예약 양식을 추가하여 pages/rooms/[id].js에 예약 기능을 추가하세요:

JS


6.2. 예약 보기 및 취소하기

예약을 보기 위해 pages/my-bookings.js를 생성하세요:

JS


7. Vercel에 배포하기

  1. Vercel CLI 설치:
Bash

  1. 다음.js 앱을 배포하려면:
Bash


프롬프트에 따라 앱을 Vercel에 배포하세요. 배포가 완료되면, 앱은 공개 URL에서 실시간으로 제공됩니다.

8. 결론

이 튜토리얼에서는 Bookit 앱을 Next.js를 프론트엔드로 사용하고 Back4App을 백엔드로 사용하여 구축했습니다. 사용자 인증, 방 관리 및 예약 기능을 구현했습니다. 마지막으로, 앱을 Vercel에 배포했습니다. 이제 검색, 결제 통합 또는 알림과 같은 추가 기능으로 앱을 확장할 수 있습니다.