내배캠 팀 프로젝트
와이어 프레임
Figma
Created with Figma
www.figma.com
API 명세서
회원
회원인증인가
ERD
✅ 1. 프로필 관리
📌 기능
- 프로필 조회
- 다른 사용자 프로필 조회 가능
- 민감한 정보는 표시되지 않음 (항목은 팀 내부 결정)
- 프로필 수정
- 로그인한 사용자만 본인 정보 수정 가능
- 비밀번호 수정 조건
- 현재 비밀번호 입력 → 일치해야 변경 가능
- 현재 비밀번호와 동일한 비밀번호로는 변경 불가
⚠️ 예외 처리
- 현재 비밀번호 불일치
- 비밀번호 형식 불일치 (조건 미충족)
- 기존 비밀번호와 동일한 비밀번호로 변경 시도
✅ 2. 뉴스피드 게시물 관리
📌 기능
- 게시물 작성, 조회, 수정, 삭제
- 게시물 수정/삭제는 작성자 본인만 가능
- 뉴스피드 조회
- 기본 정렬: 생성일자 기준 내림차순
- 페이지네이션: 1페이지당 10개 게시물
⚠️ 예외 처리
- 작성자가 아닌 사용자가 수정/삭제 시도
✅ 3. 사용자 인증
📌 기능
- 회원가입
- 아이디: 이메일 형식
- 비밀번호 조건:
- 영문 대/소문자 + 숫자 + 특수문자 각 1개 이상 포함
- 최소 8자 이상
- BCrypt로 암호화 (PasswordEncoder 직접 구현)
- 회원탈퇴
- 비밀번호 확인 → 일치 시 탈퇴 처리
- 탈퇴한 아이디는 재사용 및 복구 불가
⚠️ 예외 처리
- 중복 아이디 가입 시도
- 아이디(이메일), 비밀번호 형식 불일치
- 탈퇴 시 아이디/비밀번호 불일치
- 이미 탈퇴된 아이디로 재탈퇴 시도
✅ 4. 친구 관리
📌 기능
- 사용자 친구 추가/삭제 가능
- 친구 기능을 구현하면 뉴스피드에서 친구의 최신 게시물을 최신순으로 조회 가능
⚠️ 주의사항
- 친구 기능에는 상대방의 수락 절차가 필요
- 구현이 어려울 경우 → 팔로우 방식(단방향)으로 대체 가능
'Spring' 카테고리의 다른 글
뉴스피드 프로젝트 트러블 슈팅 (4) | 2025.04.14 |
---|---|
JPQL이란? (@Query) (1) | 2025.04.10 |
Spring - REST API 기반 일정 관리 서버 시스템2 (0) | 2025.04.04 |
Spring Container와 Spring Bean (0) | 2025.03.27 |
SOLID 원칙이란? (0) | 2025.03.26 |