문제
사진은 카메라 롤에 있습니다. 문서는 받은편지함에 있습니다. 영수증은 트럭에 있습니다. 어느 것도 작업과 연결되지 않습니다.
작동 방식
- Step 01
어디서나 업로드
모바일 앱, 웹 또는 API — 바이트가 S3로 직접 이동합니다.
- Step 02
가시성 범위 설정
owner_only / organization_only / shared / client_visible.
- Step 03
서명된 URL로 접근
단기 서명된 URL이 모든 읽기를 제어합니다.
포함된 기능
S3 기반 스토리지
대용량 바이트는 S3에 저장되고, Supabase는 메타데이터만 저장합니다.
범위별 가시성
4단계 가시성 분류가 서명 전에 적용됩니다.
범용 첨부
클라이언트, 작업 항목, 설문조사, 보고서, 송장, 견적, 제안, 비용, 배송, 차량, 경로에 첨부합니다.
업로드 검증
카테고리별 서버 측 MIME 및 크기 확인.
서명된 URL 접근
버킷은 비공개이며, 읽기는 항상 새로운 서명된 URL을 통해 진행됩니다.
향후 제공자 지원
Google Drive + Dropbox 제공자 슬롯이 예약되어 있습니다.
팀이 선택하는 이유
- 데이터베이스에 원본 바이트가 없음 — 빠른 쿼리, 예측 가능한 비용.
- 버킷은 비공개이며, 공유는 서명된 URL을 통해 의도적으로 이루어집니다.
- 조직의 모든 첨부에 대한 하나의 파일 테이블.
- 가시성 제어가 작업 계층에서 과도한 공유를 방지합니다.
화면 미리보기
Screenshot
파일 업로드
Screenshot
사진 갤러리
Screenshot
가시성 설정
사용 사례
시공 전후 사진
사진이 설문조사 또는 보고서에 첨부되고 제안서에 표시됩니다.
영수증
비용 영수증이 모바일 앱에서 업로드되고 비용 행에 첨부됩니다.
서명된 문서
서명된 PDF가 작업 항목에 업로드되고 포털을 통해 클라이언트에게 표시됩니다.
함께 사용하면 좋은
자주 묻는 질문
파일은 어디에 저장되나요?
S3 버킷에 저장됩니다. 저희는 바이트를 Supabase나 자체 인프라로 복사하지 않습니다.
자체 S3 버킷을 사용할 수 있나요?
네 — AWS_S3_BUCKET과 해당 자격증명을 설정하세요. 저희는 구성된 버킷 외부에서 읽거나 쓰지 않습니다.
가시성은 어떻게 작동하나요?
4단계입니다: owner_only, organization_only, shared, client_visible. 데이터베이스(RLS)와 모든 URL 서명 전에 적용됩니다.
어떤 파일 형식이 허용되나요?
이미지(png, jpeg, webp, svg), 문서(pdf, office, csv, txt, zip), 비디오(mp4, mov). 카테고리별 크기 제한이 있습니다.
업로드 파일이 악성코드로 스캔되나요?
핫 경로에서는 스캔하지 않습니다. 스캔 통합은 엔터프라이즈 티어와 함께 제공됩니다.
서명된 URL은 얼마나 오래 유지되나요?
기본값은 10분입니다. UI는 매번 다시 요청하므로 URL이 만료 후 캐시되지 않습니다.