무인 스터디카페 좌석·이용권 앱미리보기

남은 좌석을 보고 이용권을 결제한 뒤 QR로 바로 입실한다.

무인 스터디카페 좌석·이용권 앱

PRD

문제
- 무인 스터디카페 이용자는 남은 좌석 확인을 위해 현장에 직접 가야 하고, "가 봤는데 좌석이 없는" 헛걸음이 발생한다. - 이용권 구매, 남은 시간 확인, 연장·퇴실이 전부 현장 키오스크에서만 가능해 공부 흐름이 끊긴다. - 개인(독립) 운영 무인 스터디카페는 체인 전용 앱(작심·토즈 등)을 쓸 수 없어 운영자는 예약·결제와 데이터 파악 없이 키오스크에 의존한다.
목표
- 이용자가 현장에 가기 전에 좌석을 확인하고 앱에서 예약·결제·입실·연장·퇴실까지 처리하게 한다. - 운영자가 현장 키오스크 의존도를 낮추고 앱 결제 데이터로 매출과 시간대별 좌석 사용률을 파악하게 한다. - 핵심 지표(수치 목표는 확정 필요, 측정 방식만 정의): 앱 예약·결제 건수(일별/주별), 앱 결제 대비 키오스크 결제 비중, 앱 내 연장 처리 건수·비율, 정기권 만료 알림 후 재구매율, 좌석 확인 후 예약 전환율.
출시 범위
- 포함: 회원가입·로그인, 실시간 잔여 좌석 수 표시, 좌석 배치도(맵) 뷰, 이용권 구매(시간 단위 1시간/2시간, 일일권, 주간/월간 정기권, 좌석 지정권), 앱 내 카드결제(간편결제), QR/바코드 출입문 오픈, 연장·퇴실 앱 처리, 이용 내역·영수증 조회, 정기권 만료 알림, 운영자 관리 화면(예약·결제·회원·이용권·좌석·알림 관리, 매출·사용률 통계). - 제외(범위 밖·다음 단계): 다지점 확장, 관리자 계정·권한 다단계 관리, 후기·이벤트·배너 콘텐츠 관리, 쿠폰·프로모션, PC 클라이언트·네이티브 앱. - 가정: 출시 대상은 앱 제작자가 직접 운영하는 특정 스터디카페 1곳, 모바일 웹 중심(앱 설치 없이 이용).
역할과 권한
- 이용자(회원): 좌석 조회, 이용권 구매·결제, QR/바코드 입실, 연장·퇴실, 이용 내역·영수증 조회, 알림 수신. 비회원은 좌석 조회만 가능(가정: 구매는 회원 전환 유도). - 운영자(관리자): 단일 운영자 계정 1개(가정: 초기 별도 권한 분리 없음). - 예약·이용 관리: 예약 목록·상세, 입실/퇴실 상태 확인, 수기 퇴실·좌석 강제 해제 처리. - 결제·주문 관리: 결제 내역 목록·상세, 환불 처리(가정: PG 환불 연동), 영수증 재발급. - 회원 관리: 회원 목록·상세, 이용 이력 조회, 탈퇴 처리. - 이용권·좌석 관리: 이용권 유형·가격 등록·수정, 좌석 마스터·배치도 등록, 좌석 잠금(점검 등). - 통계: 일별 매출, 시간대별 좌석 사용률, 이용권 유형별 판매 비중. - 알림 관리: 정기권 만료 알림 발송 이력 확인, 공지성 알림 수동 발송(가정).
사용자 시나리오
- 김지훈(직장인, 자격증 준비): 퇴근 전 모바일 웹에서 잔여 좌석 확인 → 좌석 배치도에서 좌석 선택 → 2시간 이용권 결제 → QR로 출입문 오픈 → 공부 중 앱에서 연장 → 퇴실 앱 처리. - 박서연(직장인, 스터디): 주간 정기권 구매 → 좌석 지정권으로 선호 좌석 확보 → 만료 3일 전(가정) 알림 수신 → 앱에서 재구매. - 이수민(직장인, 주말 이용): 일일권 결제 후 입실 → 이용 내역에서 영수증 확인 → 남은 시간 앱에서 실시간 확인. - 운영자: 관리 화면에서 당일 예약·입실 현황 확인 → 시간대별 사용률 조회 → 환불 요청 건 처리.
핵심 기능
- 실시간 좌석 현황: 잔여 좌석 수 표시, 좌석 배치도(맵) 뷰, 좌석별 사용 가능/사용 중/지정 상태(갱신 주기는 확정 필요). - 이용권 구매·결제: 시간 단위(1시간/2시간), 일일권, 주간/월간 정기권, 좌석 지정권. 앱 내 카드결제(간편결제, PG 연동 — 확정 필요: PG사·요율). 가격 체계 확정 필요. - QR/바코드 입실: 결제 완료 후 QR/바코드 발급, 리더기 연동으로 출입문 오픈(확정 필요: 출입문 하드웨어 연동 방식). - 이용 관리: 앱 내 연장·퇴실, 남은 시간 실시간 표시, 이용 내역·영수증 조회, 정기권 만료 알림(발송 수단 확정 필요: 푸시/문자). - 운영자 관리: 예약·결제·회원·이용권·좌석 관리 화면과 매출·사용률 통계(역할과 권한 참조).
기술 스택과 아키텍처
- 백엔드: PHP 8(프레임워크 없이), mysqli·prepared statement. - DB: MySQL/MariaDB(utf8mb4). - 웹서버: Apache, 카페24 VPS(또는 카페24 웹호스팅) 배포. - 프론트: 모바일 웹 중심 반응형(HTML/CSS/JS). - 외부 연동: PG 간편결제 모듈, QR/바코드 출입문 리더기 연동(확정 필요), 알림 발송(문자 API 또는 웹푸시 — 확정 필요). - 구조: 모바일 웹 클라이언트 — PHP API/페이지 — MySQL, 좌석 상태는 DB 기준 단일 출처로 관리.
전체 IA와 화면 흐름
- 이용자 화면: 홈(잔여 좌석 수·배치도 진입) → 좌석 배치도(맵) → 이용권 선택·결제 → 결제 완료·QR 발급 → 이용 중 화면(남은 시간·연장·퇴실) → 마이페이지(이용 내역·영수증·정기권 잔여 기간·알림 설정) → 로그인·회원가입. - 운영자 화면(짝): 대시보드(당일 예약·입실 현황) / 예약·이용 관리(목록·상세·수기 퇴실 처리) / 결제 관리(목록·상세·환불) / 회원 관리(목록·상세) / 이용권·좌석 관리(유형·가격·배치도·좌석 잠금) / 통계(매출·시간대별 사용률) / 알림 관리(발송 이력·수동 발송). - 흐름 원칙: 좌석 확인 → 결제 → 입실 → 이용 → 퇴실이 한 세션 안에서 이어지도록 최소 단계 구성.
데이터 모델
- users: id, 이름, 휴대폰 번호(가정: 휴대폰 인증), 비밀번호 해시, 마케팅 수신 동의, 생성일. - seats: id, 좌석 번호, 구역, 좌석 지정권 여부, 상태(사용 가능/사용 중/잠금). - tickets(이용권 마스터): id, 유형(시간/일일/주간/월간/좌석 지정), 가격, 유효 조건. - reservations: id, user_id, seat_id, ticket_id, 시작·종료 시각, 상태(예약/입실/퇴실/만료/취소). - payments: id, reservation_id, 금액, 결제 수단, PG 거래 ID, 상태(완료/취소/환불), 영수증 정보. - notifications: id, user_id, 유형(만료 알림 등), 발송 수단, 발송 시각, 발송 상태. - access_logs: id, user_id, reservation_id, 입실·퇴실 시각, 출입 방식(QR/바코드).
API와 외부 연동
- 내부 API(가정: PHP 엔드포인트, 세션 기반 인증): 좌석 현황 조회, 예약 생성·취소, 결제 요청·완료 콜백, 연장·퇴실, 이용 내역·영수증 조회, 알림 발송 요청. - 외부 연동: PG 결제 승인·취소·환불 API(확정 필요: PG사), 출입문 리더기 연동(확정 필요: QR/바코드 리더 규격), 문자/푸시 발송 API(확정 필요). - 연동 원칙: 결제 완료는 PG 콜백으로만 확정 처리, 출입문 오픈은 유효한 입실 가능 예약 존재 시에만 허용.
UI·UX 요구사항
- 모바일 웹 최적화: 1손 조작 기준 하단 주요 액션 버튼, 좌석 배치도는 확대·축소 가능한 맵 뷰. - 좌석 상태 색상 구분(사용 가능/사용 중/지정/잠금)과 잔여 좌석 수 상단 고정 표시. - 결제 완료 후 QR/바코드를 즉시 전체 화면으로 표시(현장에서 바로 스캔). - 남은 시간 카운트다운 표시, 연장·퇴실 버튼 상시 노출, 만료 임박 알림(가정). - 운영자 화면은 PC 브라우저 기준 표 뷰 중심, 목록→상세→처리 2단 구조.
보안과 개인정보
- 개인정보 수집 최소화(이름·휴대폰 번호), 가입 시 수집·이용 동의, 마케팅 수신은 별도 선택 동의와 수신거부 제공. - 비밀번호 해시 저장, 전 구간 HTTPS, DB 접근은 prepared statement로 SQL 인젝션 방지. - 결제 정보는 서버에 저장하지 않고 PG 토큰 방식 사용(가정). - 개인정보 보관·파기: 탈퇴 시 회원 정보 파기 또는 법정 보관 기간 후 파기(보관 기간 확정 필요), 이용 내역·결제 기록은 세법상 보관 기간 적용. - QR/바코드는 일회성·시간 제한 토큰으로 발급하여 재사용 방지(가정).
비기능 요구사항
- 가용성: 무인 운영 특성상 출입문 오픈·좌석 조회는 운영 시간 내 상시 동작(목표 가용성 수치 확정 필요). - 성능: 좌석 현황 조회는 체감 지연 없이 응답(구체 수치 확정 필요), 좌석 상태 갱신 주기 정의(확정 필요). - 정확성: 좌석 이중 예약 방지(예약 생성 시 트랜잭션·잠금 처리), 결제와 예약 상태 정합성 보장. - 백업: DB 일일 백업(가정: 카페24 백업 기능 활용).
구현 계획
- 1단계: DB 설계, 회원가입·로그인, 좌석 마스터·배치도 등록, 좌석 조회 API. - 2단계: 이용권 구매·PG 결제 연동, 예약 생성, QR/바코드 발급·출입문 연동(하드웨어 규격 확정 후). - 3단계: 연장·퇴실, 이용 내역·영수증, 정기권 만료 알림. - 4단계: 운영자 관리 화면(예약·결제·회원·이용권·좌석·통계·알림), QA 후 카페24 배포. - 일정·출시일은 확정 필요.
수용 기준과 QA
- 좌석: 잔여 좌석 수와 배치도 상태가 실제 예약·입실 상태와 일치한다. 동시 예약 요청 시 이중 예약이 발생하지 않는다. - 결제: PG 승인 완료 시에만 예약이 확정되고, 취소·환불 시 예약 상태와 결제 상태가 일관된다. - 입실: 유효한 예약의 QR/바코드만 출입문을 연다. 만료·사용된 코드는 거부된다. - 이용 관리: 연장 시 남은 시간이 정확히 갱신되고, 퇴실 처리 후 좌석이 즉시 사용 가능으로 전환된다. - 알림: 정기권 만료 알림이 설정된 시점에 발송되고 발송 이력이 관리 화면에 기록된다. - 보안: 비밀번호가 평문 저장되지 않고, 미인증 사용자는 타인의 예약·결제 정보에 접근할 수 없다.
배포와 운영
- 배포: 카페24 VPS(또는 웹호스팅)에 Apache + PHP 8 + MySQL 구성, 도메인 연결, HTTPS 인증서 적용(가정: Let's Encrypt). - 운영: 운영자가 관리 화면에서 예약·결제·좌석을 자체 처리, 장애 시 수기 퇴실·좌석 잠금으로 현장 운영 대응. - 모니터링: 결제 콜백 실패·출입문 연동 실패 로그 확인, DB 일일 백업 검증. - 출입문 하드웨어 연동 방식, PG사, 알림 발송 수단은 계약·규격 확정 후 배포 전 완료(확정 필요).

새 기획을 열려면 기획권이 필요해요

기획권 1개 = 새 기획 열기(IA 포함) + 화면 20장

가입하면 체험 프로젝트를 드려요

가입하면 체험 프로젝트 1개로 IA와 화면 5장까지 이어서 써 볼 수 있어요. 화면 20장과 파일 내려받기는 기획권으로 열어요.

무료로 가입하기

기획권 요금 자세히 보기