Files
cloud-sharp-docs/기획/제안서.md
2026-03-16 16:17:17 +09:00

11 KiB

Cloud# 서비스 제안서

목차

  1. 프로젝트 개요
  2. 문제 정의
  3. 해결 방향
  4. 핵심 가치 제안 및 차별점
  5. 타겟 사용자
  6. 기능 로드맵
  7. 기술 아키텍처
  8. 데이터 모델
  9. 비기능 요구사항
  10. 개발 일정
  11. 성공 지표 (KPI)
  12. 리스크 및 대응 전략
  13. 기대 효과

1. 프로젝트 개요

항목 내용
서비스명 Cloud#
한 줄 소개 느린 웹 기반 파일 관리의 UX를 개선하고, S3 성능과 확장성을 갖춘 차세대 파일 호스팅 서비스
Backend ASP.NET Core
Frontend Blazor (Server 또는 WASM + API 조합 검토)
업로드 방식 tus 프로토콜 (재개 가능한 대용량 업로드)
저장소 S3 호환 Object Storage (MinIO / AWS S3 / Ceph RGW)
개발 방식 단계별 로드맵 — MVP → 확장 기능 → 커뮤니티 플랫폼

2. 문제 정의

기존 파일 관리 솔루션은 두 가지 방향에서 한계를 드러냅니다.

2.1 Nextcloud 계열의 한계

  • 웹 UI 전반의 체감 반응성 저하 — 탐색, 공유 설정, 미리보기, 페이지 전환에서 답답함 발생
  • 구형 기술 스택 기반으로 성능 최적화 및 유지보수 비용 증가
  • 무거운 기능 구조로 인해 기본적인 파일 관리 경험조차 느리게 느껴짐

2.2 S3 저장소의 한계

  • 성능과 안정성은 우수하나 파일 관리 UX 기능 부족
  • 폴더 구조, 공유 링크, 미리보기, 파일 정리 기능이 불친절하거나 부재
  • 비개발자/일반 사용자에게 높은 진입 장벽 존재

2.3 시장 공백

flowchart TB
    A["Nextcloud<br/>기능은 풍부<br/>UX가 느림"]
    B["S3 저장소<br/>성능은 우수<br/>UX가 불친절"]
    C["Cloud#<br/>빠르고 · 쉽고 · 안정적"]

    A --> C
    B --> C

3. 해결 방향

"Nextcloud의 기능성 + S3의 성능/확장성 + 현대적인 웹 UX"

기능성 성능·확장성 현대적 UX
Nextcloud 수준의 파일 관리 S3/Object Storage 기반 인프라 Blazor + 빠른 API 응답

4. 핵심 가치 제안 및 차별점

4.1 핵심 가치 제안

가치 설명
빠르다 클릭·탐색·미리보기 반응 속도 개선
🎯 쉽다 폴더·공유·정리 기능의 직관적 UX
🔒 안정적이다 tus 기반 대용량 업로드 중단 후 재개 가능
📈 확장 가능하다 S3 기반으로 저장소 교체·증설 용이

4.2 경쟁 서비스 대비 차별점

구분 Nextcloud S3 직접 사용 Cloud#
UI 반응 속도 느림 제한적 빠름 (최우선 목표)
대용량 업로드 안정성 보통 지원 tus 기반 완전 지원
일반 사용자 친화성 보통 낮음 높음 (직관적 UX)
저장소 확장성 제한적 우수 우수 (S3 호환)
WebDAV 지원 지원 미지원 2차 개발 예정
커뮤니티/협업 기능 제한적 미지원 3차 개발 예정

5. 타겟 사용자

5.1 1차 타겟

  • 개인 개발자 / 홈서버 운영자
  • 소규모 팀 (스터디, 프로젝트 팀, 동아리)
  • NAS/클라우드 대체 솔루션을 탐색 중인 사용자

5.2 2차 타겟

  • 크리에이터/디자이너 — 파일 공유·미리보기 수요 높음
  • 내부 자료 공유가 필요한 팀/조직
  • WebDAV 기반 마운트를 원하는 파워유저

5.3 사용자 니즈

  • 빠른 업로드·다운로드
  • 쉬운 폴더·파일 정리
  • 링크 공유 및 권한 제어
  • 브라우저에서의 미리보기
  • OS 탐색기에서 직접 접근 (WebDAV)

6. 기능 로드맵

Phase 1 — MVP (4~8주)

목표: 실사용 가능한 최소 제품 완성

회원/인증

  • 회원가입, 로그인/로그아웃
  • JWT + Refresh Token 인증
  • 비밀번호 재설정 (이메일 기반)

파일 관리

  • 파일 업로드 — tus 기반, 재개 가능
  • 파일 다운로드 (Range 지원)
  • 폴더 생성·이동·이름 변경·삭제
  • 파일 이름 변경·이동·삭제
  • 파일 목록 조회 (정렬/검색 기본)
  • 휴지통 (소프트 삭제)

공유

  • 공유 링크 생성
  • 만료일·비밀번호 설정
  • 읽기 전용 공유
  • 링크 비활성화

미리보기

  • 이미지 미리보기
  • 텍스트/코드 파일 미리보기
  • PDF 미리보기 (브라우저 내장 뷰어)

관리자/운영

  • 사용자별 저장 용량 제한 (Quota)
  • 파일 업로드 크기 제한
  • 관리자용 사용자·용량 현황 조회

Phase 2 — 확장 기능 (3~6주)

목표: 파워유저·운영자 사용성 강화

WebDAV 지원

  • OS 탐색기/Finder에서 네트워크 드라이브처럼 접근
  • 사용자별 권한 반영
  • Windows/macOS 우선 지원

외부 다운로드/수집

  • URL 기반 파일 가져오기 (Remote Fetch)
  • 서버 측 다운로드 큐 처리 및 진행률 표시

고급 파일 관리

  • 태그·즐겨찾기
  • 최근 파일
  • 버전 관리 (간단 버전)
  • 중복 파일 탐지 (해시 기반)

운영 기능

  • 감사 로그 (업로드·삭제·공유 생성)
  • 관리자 권한 정책 (RBAC)
  • 알림 — 공유 링크 만료, 용량 초과 등

Phase 3 — 커뮤니티 플랫폼 (추후)

목표: 파일 공유 중심 커뮤니티 플랫폼으로 확장

공유 스페이스

  • 주제/팀 단위 공간 생성
  • 공간별 권한 (관리자/멤버/읽기전용)
  • 공간별 저장소·용량 할당

커뮤니티/채팅

  • 파일 중심 채팅·피드
  • 파일 업로드 후 즉시 공유·대화
  • 링크·미디어·문서 프리뷰
  • 파일·메시지 통합 검색

장기 확장

  • 봇/자동화 업로드
  • 팀 워크플로우 연동
  • 실시간 협업 편집기 연동

7. 기술 아키텍처

flowchart TB
    Client["클라이언트<br/>Blazor UI + tus client"]

    API["API 서버<br/>ASP.NET Core — 인증/인가, 메타데이터,<br/>공유 링크, WebDAV(2차), 관리자 API"]

    Upload["업로드 서비스<br/>tus 세션 관리<br/>청크 병합<br/>이벤트 발행"]

    DB["메타데이터 DB<br/>PostgreSQL / MySQL<br/>사용자·폴더·파일·공유<br/>링크·감사로그 관리"]

    Storage["S3 호환 Object Storage<br/>MinIO / AWS S3 / Ceph RGW<br/>파일 본문(binary) · 썸네일·미리보기 캐시"]

    Worker["비동기 작업자 (선택)<br/>썸네일 생성 · 미리보기 변환<br/>바이러스 스캔 · 원격 URL 다운로드"]

    Client --> API
    API --> Upload
    API --> DB
    Upload --> Storage
    Storage --> Worker

기술 선택 근거

기술 선택 이유
ASP.NET Core 높은 성능, WebDAV/S3 SDK 지원, 풍부한 생태계
Blazor C# 풀스택으로 컨텍스트 전환 최소화
tus 프로토콜 표준화된 재개 가능 업로드 — 네트워크 중단에 강인
S3 호환 저장소 MinIO(온프레미스)~AWS S3까지 교체 가능한 유연한 구조

8. 데이터 모델

엔티티 설명
User 사용자 계정 — 인증 정보, 저장 용량 Quota
Workspace 개인/공유 공간 단위
Folder 폴더 메타데이터 — 계층 구조
FileItem 파일 메타데이터 — 이름, 크기, MIME, 해시, S3 저장 키
FileVersion 파일 버전 정보 (선택)
ShareLink 공유 링크 — 만료일, 비밀번호, 권한
Permission 사용자/공간/폴더 권한
UploadSession tus 업로드 상태 — 청크 진행률, 재개 정보
PreviewAsset 썸네일·미리보기 캐시
AuditLog 주요 이벤트 로그 — 업로드·삭제·공유 생성

9. 비기능 요구사항

9.1 성능

  • 목록 조회·폴더 이동 UI 빠른 응답 — 체감 속도 최우선
  • 대용량 업로드 안정성 보장 (재개 가능)
  • 썸네일·미리보기 캐싱으로 반복 요청 최적화

9.2 안정성

  • 업로드 중단·재시도 처리
  • 저장소 장애 대응 (재시도/에러 처리)
  • 파일 메타데이터와 저장 객체 정합성 검증 배치

9.3 보안

  • JWT 인증/인가 분리
  • 공유 링크 권한·만료·비밀번호 보호
  • 악성 파일 업로드 대응 (백신 스캔 연계)
  • 감사 로그 / 접근 로그
  • HTTPS 전제

9.4 확장성

  • 저장소 백엔드 교체 가능 (MinIO ↔ AWS S3 등)
  • 모듈형 설계 — WebDAV·커뮤니티 기능 추가 용이
  • API/도메인 분리로 수평 확장 대응

10. 개발 일정

단계 기간 주요 내용
Phase 0 — 기획/설계 1~2주 요구사항 확정, IA/화면 흐름 설계, DB·저장소 구조 설계, PoC (tus + S3 + 미리보기)
Phase 1 — MVP 4~8주 인증/회원, 파일/폴더 CRUD, tus 업로드·다운로드, 공유 링크, 미리보기 기본
Phase 2 — 확장 기능 3~6주 WebDAV, URL 가져오기, 관리자 기능 강화, 감사 로그·알림
Phase 3 — 커뮤니티 추후 협의 공유 스페이스, 채팅·피드, 공간 권한·통합 검색

실제 일정은 인원수·숙련도·디자인 리소스에 따라 조정 필요

개발 우선순위

우선순위 항목
Must 인증/회원, 파일/폴더 메타데이터, tus 업로드, 다운로드, 공유 링크, 이미지/PDF/텍스트 미리보기, Quota 설정
Should 휴지통, 즐겨찾기/최근 파일, 관리자 대시보드, 썸네일 캐싱 고도화
Could WebDAV, URL 가져오기, 파일 버전 관리, 커뮤니티/채팅, 고급 검색/태그

11. 성공 지표 (KPI)

MVP 단계

지표 설명
업로드 성공률 목표: 99%+
업로드 재개 성공률 중단 후 재개 성공 비율
파일 목록 조회 응답시간 목표: 200ms 이하
미리보기 생성 성공률 이미지·PDF·텍스트 기준
공유 링크 사용률 생성 대비 다운로드 전환율
DAU/WAU 초기 사용자 활성도

UX 중심

지표 설명
TTFU 첫 파일 업로드까지 걸리는 시간
공유 링크 생성 클릭 수 생성까지 평균 클릭 수 최소화
사용자 만족도 체감 속도·사용성 설문

12. 리스크 및 대응 전략

리스크 원인 대응 전략
빠른 UX 달성 실패 서버 렌더링 지연, DB 쿼리 비효율 목록·탐색 API 최적화, 캐시 적용, 미리보기 비동기 생성, 성능 지표 관리
대용량 업로드 안정성 네트워크 중단, 청크 정합성 문제 tus 채택, 업로드 세션 상태 관리, 재시도 정책·체크섬 검증
WebDAV 호환성 OS별 클라이언트 동작 차이 2차 기능으로 분리, Windows/macOS 우선, 점진적 확장
저작권·불법 사용 외부 다운로드 기능 악용 가능성 사용자 소유/허가 콘텐츠 한정, 이용약관 명시, 신고·차단·로그 정책 마련

13. 기대 효과

사용자 측면

  • 기존 솔루션 대비 빠른 파일 관리 경험 제공
  • 단순 저장소를 넘어선 실사용 중심 파일 작업 공간
  • 대용량 업로드·공유·미리보기의 편의성 향상

개발·운영 측면

  • 현대 기술 스택 기반 유지보수성 향상
  • 저장소와 메타데이터 분리로 확장성 확보
  • 단계적 기능 확장 — 파일 호스팅 → 팀 공유 → 커뮤니티 플랫폼