ZIZZY ADMIN
관리자 도구
예약 화면과 분리된 운영진 전용 관리 페이지입니다.
관리자 확인 중
관리자 로그인 상태를 확인하고 있습니다.
예약 취소 요청
예약자가 보낸 요청을 확인한 뒤 승인하거나 반려합니다.
세션교육 구성
학기별 세션 멘토와 멘티를 부원 명단에서 지정합니다.
세션교육 반복 등록
저장된 세션교육 구성을 선택해 매주 같은 요일과 시간으로 등록합니다.
정기공연 곡 관리
곡별 참여 멤버를 지정하면 해당 멤버만 정기공연 예약을 등록할 수 있습니다.
공지 목록
예약 화면에 표시되는 공지를 수정하거나 삭제합니다.
아카이브 편집
사진을 올리고 드래그해 공개 순서를 정합니다. 목록에서 제거해도 원본 파일은 서버에 보관됩니다.
건의함
부원이 남긴 건의를 확인하고 처리 상태를 변경합니다.
신입 부원 신청서
접수 순서대로 검토하고 승인하면 부원 명단에 자동 등록됩니다.
SEMESTER HANDOVER
새 학기 준비
기존 기록은 그대로 보존하고, 새 학기에 필요한 설정만 순서대로 확인합니다. 이 화면에서 학기를 바꿔도 지난 예약과 명단은 삭제되지 않습니다.
학기 정보를 불러오는 중입니다.
운영 학기 전환
위 항목을 확인한 뒤 마지막에 실행합니다. 학기 전환은 기준값만 바꾸며 데이터를 초기화하지 않습니다.
현재 학기 값이 잘못된 경우에만 교정
새 학기 시작 절차가 아니라, 잘못 저장된 현재 학기 문자열만 바로잡는 복구 도구입니다.
명단 밖 활동 부원 정리
새 학기 명단 등록과 학기 전환을 모두 마친 뒤 사용하는 선택 작업입니다. 대상자를 먼저 보여주며, 지난 학기 기록은 삭제하지 않고 활동 상태만 휴동으로 바꿉니다.
새 학기 처리 기준
“초기화” 대신 아래 원칙으로 관리합니다.
서버/요청 통계
이 앱의 API 요청 기준 통계입니다. 트래픽은 측정 기능 적용 이후부터 집계되며 NAS 전체 트래픽과는 다릅니다.
많이 호출된 API
통계를 불러오는 중입니다.
로그인 실패 기록
비밀번호는 저장하지 않습니다. 입력한 아이디, 실패 이유, IP, 브라우저 정보만 최근 기록으로 보관합니다.
영상 업로드 실패 기록
파일 내용은 저장하지 않습니다. 실패 원인, 파일명, MIME 판정, 용량, IP만 최근 기록으로 보관합니다.
ZIZZY OPERATIONS
사이트 운영 매뉴얼
운영진 교체 후에도 이 페이지를 기준으로 관리합니다. 큰 변경 전에는 반드시 데이터 백업부터 진행해주세요.
- 서버 상태 확인에서
ok: true인지 확인합니다. - 이 관리자 도구의 에서 실패 요청과 응답 시간을 확인합니다.
- 삭제나 설정 변경 직후라면 상단의 최근 변경 되돌리기를 먼저 검토합니다.
- 여러 건을 수정하거나 복구하기 전 에서 내보내기를 실행합니다.
운영진 인수인계 순서
새 운영진이 백엔드 파일을 열지 않고도 로그인, 백업, 부원·모집·예약·공연·교육·콘텐츠 관리, 외부 연동 점검과 장애 확인을 직접 할 수 있어야 합니다.
- 관리자 계정 인계: 기존 운영진 앞에서 로그인하고 초기 비밀번호가 아닌지 확인합니다. 비밀번호는 메신저나 문서에 남기지 않습니다.
- 운영 데이터 백업: 에서 JSON을 내려받아 운영진 전용 저장소에 보관합니다.
- 외부 연동 확인: 에서 Apps Script 테스트 메일과 Home Assistant 연결 테스트를 실행합니다.
- 현재 학기 확인: 에서 현재 운영 학기와 다음 학기 준비 상태를 확인합니다.
- 권한별 화면 점검: 관리자, 일반 부원, 선배 공용 계정으로 각각 로그인해 보이는 메뉴와 예약 규칙이 올바른지 확인합니다.
- 장애 대응 연습: 서버 상태 화면, 최근 변경 되돌리기, 백업 가져오기 위치까지만 함께 확인합니다. 실제 가져오기는 연습으로 실행하지 않습니다.
| 반드시 전달할 것 | 전달 방법 | 전달하면 안 되는 것 |
|---|---|---|
| 관리자 로그인 방법 | 대면 또는 별도 보안 채널에서 확인 | 공개 문서에 실제 비밀번호 기록 |
| 백업 파일 위치와 보관 주기 | 운영진 전용 Drive/NAS 폴더의 위치만 공유 | 개인정보가 든 JSON을 공개 링크로 공유 |
| Apps Script와 Home Assistant 담당 계정 | 계정 소유자와 재발급 절차를 전달 | 토큰을 채팅, 코드, 매뉴얼에 붙여넣기 |
| 기술지원 연락처와 저장소 위치 | 문제가 생겼을 때 전달할 재현 정보까지 안내 | 서버 파일을 임의로 지우거나 DB를 직접 편집 |
새 학기 준비와 전환
학기 변경은 데이터를 지우는 초기화가 아닙니다. 기존 기록을 보관한 채 앞으로 입력되는 데이터의 기준 학기만 바꾸는 작업입니다.
전환 전에 할 일
- 백업·복구에서 JSON 백업을 내려받습니다.
- 신입 모집의 학기, 기수, 기간, 세션별 정원과 질문을 수정합니다.
- 신입 신청서를 검토하고 승인합니다. 중간 합류 부원은 부원 관리에서 직접 추가합니다.
- 부원 관리에서 새 학기 명단과 활동 상태를 확인합니다.
- 확정된 멘토·멘티가 있다면 새 학기의 세션교육 구성을 등록합니다. 아직 정해지지 않았다면 학기 전환 후 등록해도 됩니다.
- 새 학기 준비 화면에서 준비 상태를 다시 확인하고 운영 학기를 전환합니다.
전환 뒤에 할 일
- 일반 부원 계정으로 로그인해 일반 예약과 세션교육 분반이 정상적으로 보이는지 확인합니다.
- 새 명단에 없는 활동 부원은 대상자 미리보기 후 필요한 사람만 휴동 처리합니다.
- 모집이 끝났다면 공개 모집을 끄고 남은 승인 대기 신청서를 정리합니다.
- 정기공연이 확정되면 그때 공연곡 메뉴에서 곡과 참여 멤버를 등록합니다.
- 지난 학기 예약과 곡, 부원 학기 이력이 조회되는지 표본으로 확인합니다.
- Apps Script 웹 앱과 개인 캘린더 구독이 새 예약을 반영하는지 테스트합니다.
| 항목 | 학기 전환 시 | 운영진이 할 일 |
|---|---|---|
| 예약·시간표 | 모두 보존 | 삭제하지 않습니다. 날짜 이동으로 이전 기록을 볼 수 있습니다. |
| 부원 정보 | 학기 이력과 계정 연결 보존 | 새 학기 명단 등록 후 활동/휴동/졸업 상태를 검토합니다. |
| 정기공연 곡 | 지난 학기 곡 보존, 현재 학기 곡만 기본 노출 | 새 곡에 새 학기가 맞는지 확인합니다. |
| 세션교육 구성 | 지난 분반 보존 | 새 학기 멘토·멘티·분반을 새로 지정합니다. |
| 신입 모집 | 자동 변경되지 않음 | 학기, 기수, 기간, 정원, 질문과 공개 여부를 직접 갱신합니다. |
| 공지·건의·장비·아카이브 | 모두 보존 | 오래된 공개 안내만 필요에 따라 정리합니다. |
| 점검 피드백·영상 | 모두 보존 | 새 공연의 점검 항목은 점검 피드백 관리에서 별도로 만듭니다. |
학기 전환만으로 부원 상태는 바뀌지 않습니다. “명단 밖 활동 부원 정리”는 새 학기 명단을 모두 등록한 뒤 대상자 이름을 직접 확인하고 실행합니다. 잘못 처리했다면 즉시 최근 변경 되돌리기를 사용합니다.
운영 주기별 체크리스트
수시·매주
- 취소 요청과 건의함의 미처리 항목을 확인합니다.
- 시간표에서 중복 예약, 잘못된 팀명, 세션교육 일정을 확인합니다.
- 점검 영상 처리 실패나 피드백 등록 오류가 없는지 서버 상태를 봅니다.
- Home Assistant의 사용 중/비어 있음 표시가 실제와 맞는지 확인합니다.
매월·행사 전
- 백업 JSON을 새로 내려받고 날짜별로 보관합니다.
- 공연곡 멤버, 점검 제출 기한, 영상 변환 상태를 확인합니다.
- 장비 가이드의 고장·변경 안내와 공지사항을 갱신합니다.
- 서버 여유 공간과 최근 실패 요청, 로그인 실패 기록을 확인합니다.
학기 종료 시
- 모집 링크를 닫고 남은 신청서 처리 상태를 정리합니다.
- 현재 공연곡과 세션교육 구성이 어떤 학기에 속하는지 확인합니다.
- 점검 영상과 아카이브 공개 범위를 확인합니다.
- 최종 백업을 확보한 뒤 다음 운영진과 새 학기 준비 화면을 함께 점검합니다.
화면과 기능 지도
| 위치 | 용도 | 운영 방법 |
|---|---|---|
| 예약 화면 | 예약표 확인, 예약 신청, 취소 요청, 내 캘린더 연결 | 일반 부원이 가장 많이 쓰는 화면입니다. 문제가 생기면 모바일과 데스크톱에서 모두 확인합니다. |
| 예약 탭 | 취소 승인/반려, 세션교육 반복 등록 | 여러 예약을 삭제하기 전 데이터 백업을 권장합니다. 승인 후 캘린더 동기화가 잠시 걸릴 수 있습니다. |
| 곡 / 공지 탭 | 정기공연 곡 목록과 공지 관리 | 곡 목록은 정기공연 예약 선택지에 사용됩니다. 공지는 예약 화면에 즉시 표시됩니다. |
| 장비 탭 | 장비 가이드와 긴급 안내 관리 | 가이드 페이지에서 직접 편집하면 현재 레이아웃 위에서 문구와 사진 설명을 수정할 수 있습니다. |
| 아카이브 탭 | 사진 업로드, 순서, 크기, 공개 상태 관리 | 사진 추가 후 드래그로 순서를 바꾸고 반드시 변경 저장을 눌러 공개합니다. 목록 제거는 원본 파일을 삭제하지 않습니다. |
| 건의함 탭 | 부원 건의 확인과 처리 상태 변경 | 새 건의는 운영진 이메일로도 전송됩니다. 답변이 필요한 건은 처리 상태를 남깁니다. |
| 부원 관리 | 부원 정보, 활동 상태, 계정 연결 관리 | 명단을 가져오기 전 기준 학기를 확인하고, 기존 활동 부원이 잘못 휴동 처리되지 않는지 검토합니다. |
| 신입 모집 탭 | 모집 기간, 기수, 파트 정원, 지원서와 회비 입금 캡처 심사 | 모집 기간에만 공개 모집을 켭니다. 신청서의 입금 캡처는 관리자만 열람할 수 있으며 현재 사용하지 않을 때는 모집을 비활성 상태로 유지합니다. |
| 새 학기 준비 | 준비 상태 확인, 운영 학기 전환, 명단 밖 부원 검토 | 백업 확인과 학기 재입력을 마쳐야 전환할 수 있습니다. 휴동 처리는 반드시 미리보기 후 실행합니다. |
| 서버 상태 / 백업·복구 | 요청 통계, 로그인 실패 기록, 백업, 복구 | 느려짐이나 오류가 있을 때 서버 상태부터 확인합니다. 가져오기는 현재 데이터를 교체하므로 파일 요약과 확인창을 다시 읽습니다. |
부원 계정과 신입 모집
부원 명단
- 새 학기 전체 명단은 부원 관리의 “새 학기 명단 등록”에 스프레드시트 행을 붙여넣습니다. 중간 합류자는 상단의 부원 직접 추가를 사용합니다.
- 이름, 학번, 기수, 이메일, 연락처, 세션을 수정하면 연결된 교육·공연 정보가 함께 갱신될 수 있으므로 저장 후 확인합니다.
- 활동은 예약 가능, 휴동은 기록 보존 상태, 졸업은 졸업 부원 상태를 뜻합니다. 삭제 대신 상태 변경을 우선합니다.
- 특정 부원에게 당일 예약이 필요하면 부원 정보 수정의 “당일 예약 허용”을 사용합니다. 허용해도 이미 지난 시간은 예약할 수 없습니다.
- 동명이인은 학번으로 구분하고, 한 사람이 여러 세션을 맡아도 사람 수는 한 명으로 계산합니다.
- 선배 공용 계정은 일반 부원 계정과 예약 규칙이 다릅니다. 비밀번호 교체는 외부 연동·보안의 전용 도구를 사용하고 로그인 정보를 개인 계정에 복제하지 않습니다.
신입 모집
- 모집을 열기 전 공개 미리보기로 제목, 기수, 학기, 기간, 정원, 질문과 개인정보 동의문을 확인합니다.
- 승인하면 부원 명단에 등록되므로 학번과 이메일을 다시 확인합니다.
- 회비 입금 캡처는 관리자만 열람하며 외부로 내려받아 재공유하지 않습니다.
- 모집 종료 후 공개 모집을 끄고 승인 대기 건을 모두 처리합니다.
- 중간 합류자는 모집을 다시 열지 않고 부원 관리의 직접 추가를 사용합니다.
예약, 공연곡, 세션교육, 점검 피드백
예약과 취소
일반 예약은 신청 즉시 저장되고 Google Calendar 동기화가 별도로 요청됩니다. 취소 요청은 운영진이 승인해야 삭제됩니다. 같은 버튼을 반복해서 누르지 말고 저장 결과와 시간표를 먼저 확인합니다.
정기공연 곡과 참여 멤버
곡 제목, 아티스트, 학기와 세션별 멤버를 등록합니다. 멤버 변경 시 곡 수정 버튼으로 갱신합니다. 곡 참여자는 해당 곡의 영상 제출 권한과 피드백 참여 표시에도 사용되므로 학번이 연결된 부원을 선택합니다.
세션교육 분반과 반복 일정
한 멘토가 여러 분반을 만들 수 있고 같은 날 여러 번 교육할 수 있습니다. 분반마다 고유한 구성을 저장한 뒤 반복 등록합니다. 한 일정만 지울 때는 해당 예약의 삭제 기능을 사용하고 다른 분반의 구성을 보관하지 않습니다.
중간·최종점검 영상
점검 피드백에서 점검, 제출 기한, 영상과 피드백을 관리합니다. 기한이 지나도 제출은 허용되고 늦은 제출로 표시됩니다. 변환 중에는 재변환을 반복하지 말고 서버 상태의 영상 실패 기록과 진행 상태를 확인합니다.
공지, 장비 안내, 아카이브, 건의함
- 공지: 예약 화면에 바로 노출됩니다. 기간이 끝난 공지는 삭제 전 내용을 백업하거나 더 이상 필요 없는지 확인합니다.
- 장비 안내: 실제 장비 가이드 화면에서 문구와 사진을 직접 편집합니다. 전원 순서와 안전 문구는 장비 변경이 확인된 뒤 수정합니다.
- 아카이브: 새 사진은 기본 비공개로 추가됩니다. 캡션, 순서, 대표 사진을 확인한 뒤 공개 체크와 변경 저장을 누릅니다.
- 건의함: 접수, 검토 중, 완료, 보관 상태를 남깁니다. 개인정보나 민감한 내용은 공지에 그대로 옮기지 않습니다.
외부 연동 관리
Google Calendar / 이메일
integrations/google-calendar-site-adapter.gs가 사이트 예약을 Google Calendar와 이메일 알림에 연결합니다.
- 설정 탭에 Apps Script 웹 앱의
/execURL을 저장하고 테스트 메일을 요청합니다. - 스크립트를 수정한 뒤에는 Apps Script에서 반드시 새 버전으로 웹 앱을 다시 배포합니다.
- 정상 예약은 운영진 이메일을 보내지 않습니다. 취소 요청, 건의, 모집 관련 알림 등 필요한 상황만 발송합니다.
- 캘린더가 어긋나면 Apps Script에서
syncTodayForTest또는 전체 동기화 함수를 실행하고 실행 로그를 확인합니다. - 개인 캘린더 구독은 캘린더 앱의 갱신 주기에 따라 새 예약 반영이 늦을 수 있습니다.
Home Assistant
예약 화면 상단의 합주실 사용 상태는 Home Assistant가 상태 변경 시 NAS로 전달한 값을 표시합니다.
- Home Assistant 시작 또는 입실 상태 변경 시 NAS 푸시 주소를 한 번 호출합니다.
- 설정 탭의 URL, 엔티티 ID, 장기 액세스 토큰은 관리자 연결 테스트에만 사용합니다.
- URL과 엔티티 ID는 함께 저장되며, 토큰 입력란을 비워 저장하면 기존 토큰을 유지합니다.
- 연결 테스트가 실패하면 URL의 HTTPS 접근, 토큰 만료, 엔티티 ID 오타를 순서대로 확인합니다.
- 토큰은 문서나 채팅에 붙여넣지 말고 유출 시 즉시 폐기 후 재발급합니다.
보안, 개인정보, 백업과 복구
계정과 개인정보
- 비밀번호는 원문이 아니라 해시로 검증되지만, 이름·학번·이메일·전화번호처럼 다시 보여줘야 하는 정보는 암호화되지 않은 운영 데이터일 수 있습니다.
- 관리자 계정을 공동 공개하지 않고 운영진 교체 시 비밀번호를 변경합니다.
- 로그인 실패 기록에는 비밀번호를 남기지 않습니다. 반복 실패가 보여도 일반 사용자를 막는 조치보다 아이디 오타와 비정상 IP를 먼저 확인합니다.
- Home Assistant 토큰과 Apps Script 권한은 최소 인원만 관리하고 유출이 의심되면 즉시 폐기·재발급합니다.
- 신입 신청서, 연락처, 입금 캡처와 백업 JSON은 공개 링크나 개인 메신저로 전달하지 않습니다.
백업과 복구
- JSON 내보내기는 예약, 부원, 사용자 계정 해시, 곡, 교육 구성, 모집, 공지, 건의, 장비·아카이브 설정을 포함합니다.
- 점검 영상 원본·변환 파일과 사진 원본 파일 자체는 JSON에 포함되지 않습니다. 이 파일들은 NAS 백업 정책으로 별도 보호합니다.
- 가져오기는 현재 운영 데이터를 백업 내용으로 교체합니다. 날짜와 건수를 확인하고, 장애 복구 목적이 아니면 실행하지 않습니다.
- 작은 실수는 최근 변경 되돌리기를 먼저 사용합니다. 되돌리기는 가장 최근 관리자 변경 한 건만 대상으로 합니다.
- DB 파일을 직접 열거나 복사하는 작업은 사이트를 중지하거나 담당자와 상의한 뒤 진행합니다.
JSON에는 개인정보와 로그인 검증용 해시가 들어갈 수 있습니다. 운영진 전용 저장소에만 보관하고, 인수인계가 끝난 개인 기기에서는 불필요한 사본을 삭제합니다.
자주 발생하는 문제
예약 저장이나 삭제가 느립니다
서버 탭에서 최근 실패와 평균 응답을 확인합니다. Google Calendar 동기화 요청이 동시에 몰리면 잠시 지연될 수 있습니다. 같은 버튼을 반복해서 누르기보다 새로고침 후 실제 반영 여부를 확인합니다.
예약은 저장됐지만 Google Calendar에 없습니다
설정 탭의 Apps Script URL과 테스트 요청을 확인한 뒤 Apps Script 실행 기록에서 doPost 및 Calendar API 오류를 확인합니다. 수정된 Apps Script가 새 버전으로 배포됐는지도 확인합니다.
이메일 알림이 오지 않습니다
정상 예약은 이메일 대상이 아닙니다. 테스트 메일도 오지 않으면 Apps Script 권한 승인, 배포 접근 권한, 웹 앱 URL을 확인합니다.
장비 가이드나 화면 수정이 바로 보이지 않습니다
브라우저 캐시 때문일 수 있습니다. 강력 새로고침 후 확인하고, 코드에서 CSS/JS를 수정했다면 HTML의 파일 버전 쿼리도 올립니다.
부원 계정이나 명단이 맞지 않습니다
부원 관리 화면에서 이름, 기수, 이메일, 활동 상태를 확인합니다. 명단 가져오기나 일괄 휴동 처리 전에는 반드시 데이터 내보내기를 실행합니다.
큰 실수나 데이터 손상이 의심됩니다
추가 작업을 멈추고 최근 변경 되돌리기 가능 여부를 확인합니다. 데이터 탭에서 백업을 확보한 뒤 운영 담당자와 복구 범위를 정합니다.
코드 수정 지도
index.html / js/app.js일반 예약 화면과 예약 기능
admin.html / js/admin.js관리자 도구 화면과 동작
equipment.html / js/equipment.js장비 가이드 화면과 직접 편집
media.html / js/media.js공개 아카이브 화면과 사진 렌더링
members.html / js/members.js부원 관리 화면
recruit.html / js/recruit.js신입 모집 공개 페이지
weekly/index.html주간 시간표와 Home Assistant 표시 화면
css/style.css전체 사이트 스타일과 반응형 화면
api/app.php예약, 관리자 설정, 알림 등 주요 API
api/archive-upload.php관리자 아카이브 사진 업로드
api/calendar.php개인 캘린더 구독과 일정 파일
api/health.php서버 상태 확인
integrations/google-calendar-site-adapter.gsGoogle Calendar와 이메일 연동
- 큰 변경 전 데이터 탭에서 백업을 내보냅니다.
- 관련 파일만 작게 수정하고 기존 사용자 데이터 형식을 유지합니다.
- CSS/JS 변경 시 HTML의
?v=날짜-번호를 올려 브라우저 캐시를 갱신합니다. - 예약 생성, 삭제, 모바일 화면, 관리자 로그인을 실제 환경에서 검증합니다.
- Apps Script를 수정한 경우 별도로 새 배포를 만들고 설정 탭에서 테스트합니다.
Codex로 긴급 수정하기
이 저장소에는 Codex가 먼저 읽는 AGENTS.md가 포함되어 있습니다. 신뢰된 운영 PC에서 저장소를 열고 문제 상황, 재현 방법, 기대 결과를 구체적으로 전달하면 코드 확인부터 수정과 검증까지 맡길 수 있습니다.
관리자 도구에서 예약 삭제가 10초 이상 걸려. 데이터 백업은 완료했어. 관련 API와 로그를 확인하고 기존 기능을 망가뜨리지 않게 수정한 뒤 라이브에서 검증해줘.
- 사이트 안에 임의 명령을 실행하는 Codex 버튼을 두는 방식은 서버 전체 권한 탈취 위험이 있어 사용하지 않습니다.
- Codex는 운영 PC 또는 제한된 개발 환경에서 실행하고, 실제 토큰과 비밀번호는 채팅이나 코드에 남기지 않습니다.
- 데이터 삭제, 대량 변경, 인증 방식 변경은 Codex가 제안하더라도 운영자가 백업과 범위를 확인한 뒤 진행합니다.
- 반복 점검이 필요하면 임의 명령 실행 기능 대신 상태 진단 API나 제한된 관리자 버튼을 별도로 추가합니다.
공식 참고: AGENTS.md 안내 · 권한과 보안
관리자 비밀번호
초기 비밀번호를 사용 중이라면 운영 전에 변경해주세요.
관리자 비밀번호 상태를 확인하고 있습니다.
선배 공용 예약 계정
선배님들이 함께 사용하는 예약 계정입니다. 로그인 아이디는 유지하고 비밀번호만 안전하게 교체할 수 있습니다.
운영진 이메일 알림
Apps Script 웹 앱을 연결하면 캘린더 동기화와 운영 알림을 처리합니다.
연결된 웹 앱이 없습니다.
합주실 입실 상태
Home Assistant가 입실 상태 변경 시 NAS로 전달한 마지막 상태를 예약 화면 상단에 표시합니다.
Home Assistant 푸시 상태 연결 정보를 확인하고 있습니다.
기술지원
사이트 오류나 서버 관련 문제가 발생하면 아래 담당자에게 연락해주세요.
운영 데이터 백업
학기 전환이나 여러 건의 수정 전에 JSON 백업을 내려받습니다. 백업에는 개인정보가 포함될 수 있으므로 운영진 전용 저장소에 보관합니다.
예약, 계정, 부원 학기 이력, 공연곡, 세션교육, 모집 신청서와 설정, 공지, 건의, 장비·아카이브 설정. 점검 영상과 업로드 사진의 실제 파일은 NAS 파일 백업으로 별도 보호합니다.
개발·테스트 도구
실제 운영 중에는 사용하지 않습니다. 샘플 예약이 현재 데이터에 추가됩니다.