서비스
모바일 초대장 운영 플랫폼
관리자가 초대장을 만들고 고객 계정과 공개 URL을 연결해 운영하는 웹 플랫폼입니다.
- 기간
- 2025.07–현재
- 운영 상태
- 운영 중
- 역할
- 기획·개발·운영

- 문제
- 초대장을 만드는 관리자, 내용을 수정하는 고객, 공개 링크를 보는 하객의 접근 범위를 나눠야 했습니다.
- 해결
- 관리자·고객 API에서 로그인 토큰을 검증하고, 고객 UID와 초대장 소유권을 대조했습니다. 공개 조회는 별도 경로로 분리했습니다.
- 결과
- 초대장 생성 → 고객 계정 연결 → 고객 수정 → 공개 URL 조회의 운영 흐름을 구현했습니다.
상세 목차 보기
문제
같은 초대장 데이터를 관리자와 고객이 수정하고 하객이 조회하므로, 화면을 숨기는 것과 별개로 서버에서 역할과 소유권을 확인해야 했습니다.
제약
- 하객은 로그인 없이 공개 초대장을 조회하고, 관리 작업은 인증된 계정의 권한에 따라 처리
- 공개 샘플은 초대장 화면을 보여주는 예시이며 실제 고객의 관리 화면이나 운영 데이터를 공개하지 않음
주요 사용자
- 관리자
- 고객
- 하객
핵심 결정
- 관리자 API는 ID 토큰과 관리자 권한을 확인하고, 고객 API는 인증된 UID와 초대장의 ownerUid를 대조
- 고객의 수정 요청은 소유권과 대상 초대장 주소를 서버에서 다시 확인한 뒤 저장
- 공개 조회는 공개 상태·노출 기간을 확인하고 계정·결제·보안·운영 필드를 제외한 데이터만 반환
구현
- 관리자 초대장 생성과 고객 계정 연결, 소유 고객의 콘텐츠 수정 화면 구성
- 고객 관리 API와 하객 공개 조회 API를 분리하고 공개 초대장 URL 제공
주요 화면

검증 방법
- 2026.10 소스 검토에서 관리자·고객 API의 토큰 검증, ownerUid 대조와 비소유자 저장 거부, 공개 조회의 상태·기간 확인과 반환 필드 분리를 확인했습니다.
- 공개 샘플 링크는 하객 조회 화면의 예시로 제공합니다. 고객·관리자 권한 검증의 실행 결과와는 구분합니다.
- 운영 계정으로 비소유자 접근·저장을 시도하는 권한 테스트는 이번 확인 범위에 포함하지 않았습니다.
현재 개발 상태
관리자 생성, 고객 소유권과 공개 URL을 연결한 웹 운영 흐름을 구현했습니다.
기술 기록과 근거
사용 기술
- Next.js 15
- React 19
- TypeScript
- Firebase Auth
- Firestore
- Firebase Storage