데모홈페이지·CMS
동물구조단체 홈페이지와 독립 CMS
가상 단체 홈페이지에서, 관리 화면으로 숨긴 동물이 방문자에게는 서버에서 막히는(404) 것을 확인합니다.
rescue-cms-demo-158997-production.up.railway.app

열어 보시면 이런 걸 확인하실 수 있습니다
- 관리 화면은 데모 화면에 안내된 공개 체험 계정 2개(관리자·편집자)로 열고, 매시 정각 처음 상태로 돌아갑니다
- [이 장면 열기]로 숨김 동물 '자두'를 열면 '로그아웃 방문자 → 404 없음'이 보입니다
- [비공개 차단 확인]에서 [지금 다시 확인]을 누르면 6줄의 실제 응답이 로그인 상태별로 나옵니다
- [견본 사진 3장으로 해 보기]를 누르면 사진마다 올린 크기와 서버가 줄인 크기가 함께 나옵니다
만들면서 풀어야 했던 것
- 비공개로 둔 내용을 화면에서만 감추면 주소를 아는 사람은 열 수 있습니다. 공개 판정(게시됨·공개·사망 기록 아님)을 서버의 읽기 권한 규칙에 걸고 사진 파일도 같은 규칙을 거쳐서만 내보내, 숨긴 동물의 상세 주소와 사진 주소가 로그아웃 방문자에게 404가 되게 했습니다. 이 규칙은 로컬 프로덕션 빌드에 보내는 HTTP 검사 51건으로 고정했습니다.
- 사진이 많아도 목록이 가볍도록, 올린 사진을 서버가 목록용·상세용 크기로 다시 압축하면서 위치·기기 정보를 지우게 했습니다. 처음 상태 입양 목록 첫 화면의 대표 사진 19장은 목록용 파일 합계 484KB로, 처음 올린 견본 사진 합계 3.8MB의 약 8.1분의 1입니다.
- 개발 지식 없이도 등록할 수 있도록 CMS 기본 관리 화면 대신 칸마다 예시 한 줄을 둔 쉬운 관리 화면을 따로 만들고, 사진 끌어 놓기·대표 사진 지정·자동 임시저장·공개/숨김 버튼 하나를 갖췄습니다. 동물·관리 기록·옛 주소는 모두 가상 자료이고 사진은 CC0 공개 사진이며, 후원 결제와 신청서 접수는 데모에 넣지 않았습니다.
비슷한 걸 만들어 보고 싶으시다면
구간 견적으로 규모를 먼저 가늠해 보시거나, 조건을 적어 보내 주시면 범위를 정리해 회신드립니다.