Backend
home
🪜

프로젝트 정의

1. 프로젝트 기본 정보

항목
내용
프로젝트명
DocuFlow
목표
PDF 파일 처리 기능을 REST API로 제공하는 SaaS
기술 스택
Spring Boot 3.x, Java 17+, PostgreSQL, JUnit, Mockito, React, TypeScript, Tailwind CSS, AWS S3, Docker, Swagger (API)
개발 방법론
TDD (Red → Green → Refactor)
목표 기간
3개월 (MVP)

2. 기능 범위 정의 (간략)

우선순위
기능
설명
P0
PDF → 이미지 변환
PDF 각 페이지를 PNG/JPG로 변환
P0
PDF 병합
여러 PDF를 하나로 합치기
P0
PDF 분할
특정 페이지 추출 또는 분리
P1
PDF 텍스트 추출
PDF에서 텍스트만 추출
P1
PDF 압축
파일 크기 최적화
P2
PDF 워터마크
텍스트/이미지 워터마크 삽입
P2
이미지 → PDF
이미지들을 PDF로 변환

3. 기능 범위 재정의

API 서비스로 수익화를 한다고 하면 “회원 시스템 + 과금 체계”가 필수.

1. 회원 도메인 (Member)

우선순위
기능
설명
P0
회원가입
이메일 + 비밀번호 기반
P0
로그인
JWT 토큰 발급
P0
로그아웃
토큰 무효화
P1
이메일 인증
가입 시 이메일 검증
P1
비밀번호 재설정
이메일 통한 재설정
P2
소셜 로그인
Google, GitHub 등
P2
회원 탈퇴
계정 삭제 처리
P3
내 정보 조회
이메일, 가입일, 현재 요금제 확인
P3
내 정보 수정
이름, 연락처 등 기본 정보 변경

2. API Key 도메인 (ApiKey)

우선순위
기능
설명
P0
API Key 발급
회원당 Key 생성
P0
API Key 조회
본인 Key 목록 확인
P1
API Key 재발급
기존 Key 폐기 + 신규 발급
P1
API Key 비활성화
일시중지 기능

3. PDF 처리 도메인 (Pdf)

우선순위
기능
설명
P0
PDF → 이미지 변환
각 페이지를 PNG/JPG로
P0
PDF 병합
여러 PDF를 하나로
P0
PDF 분할
특정 페이지 추출
P1
PDF 텍스트 추출
텍스트만 추출
P1
PDF 압축
파일 크기 최적화
P1
PDF 메타정보 조회
페이지 수, 크기 등
P2
PDF 워터마크
텍스트/이미지 삽입
P2
이미지 → PDF 변환
이미지들을 PDF로
P2
PDF 암호화/해제
비밀번호 설정/제거

4. 사용량/과금 도메인 (Usage & Billing)

우선순위
기능
설명
P0
API 호출 횟수 기록
요청마다 카운트
P0
사용량 조회
일별/월별 통계
P1
요금제 관리
Free / Basic / Pro 티어
P1
호출 제한
요금제별 일일/월간 한도
P2
결제 연동
카드 결제 (Stripe 등)
P2
청구서/인보이스
월별 청구 내역

5. 공통/인프라

우선순위
기능
설명
P0
전역 예외 처리
@ControllerAdvice
P0
공통 API 응답
통일된 Response 형식
P0
API 인증 미들웨어
API Key 검증
P1
요청 로깅
요청/응답 로그
P1
Rate Limiting
과도한 요청 차단
P2
API 문서화
Swagger/OpenAPI

6. 관리자 도메인 (Admin)

우선순위
기능
설명
P1
회원 목록 조회
전체 회원 리스트 + 검색/필터
P1
회원 상세 조회
특정 회원 정보 + 사용량
P1
회원 상태 변경
정지/활성화 처리
P2
통계 대시보드
총 회원 수, API 호출량, 매출 등
P2
API Key 관리
특정 Key 강제 비활성화
P2
공지사항 관리
서비스 공지 CRUD

7. 알림 도메인 (Notification)

우선순위
기능
설명
P1
사용량 한도 경고
80%, 100% 도달 시 이메일
P1
이메일 발송
공통 이메일 발송 기능
P2
결제 알림
결제 성공/실패 알림
P2
알림 설정
회원별 알림 수신 여부 설정
P3
알림 내역 조회
발송된 알림 히스토리

8. 파일 저장소 도메인 (Storage)

우선순위
기능
설명
P1
파일 업로드
S3에 PDF/이미지 업로드
P1
파일 다운로드
처리 결과 파일 다운로드
P1
임시 파일 관리
일정 시간 후 자동 삭제
P2
저장소 용량 관리
회원별 저장 용량 제한
P2
파일 목록 조회
본인이 업로드한 파일 히스토리

전체 도메인 요약

번호
도메인
핵심 역할
1
Member
회원가입, 로그인, 내 정보 관리
2
ApiKey
API Key 발급 및 관리
3
Pdf
PDF 변환/병합/분할 등 핵심 기능
4
Usage
API 호출 기록 및 통계
5
Billing
요금제, 결제, 청구
6
Admin
관리자 전용 기능
7
Notification
이메일 알림
8
Storage
파일 업로드/다운로드 (S3)

4. 주요 화면 목록 (초안)

화면
설명
우선순위
랜딩 페이지
서비스 소개, 요금제 안내
P0
회원가입/로그인
인증 화면
P0
대시보드
사용량 요약, 빠른 작업
P0
API Key 관리
Key 발급/조회/삭제
P0
PDF 도구
웹에서 직접 PDF 처리
P1
사용량 통계
일별/월별 API 호출 그래프
P1
요금제/결제
플랜 변경, 결제 정보
P2
관리자 페이지
회원 관리, 전체 통계
P2