f-lab-edu / f-lab-edu/Personal-Interview

요구사항

Open
#1 0 comments 0 reactions 2 assignees Claimed by @f-lab-maverick View on GitHub
Dominant language
Java
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## 사용자/계정

- 사용자는 회원가입/로그인 후 서비스를 이용할 수 있어야 한다.
- 회원가입할 때 이메일 인증 절차가 필요하다. (면접 질문 발송 대상 이메일이므로 인증 필수)
- 인증 메일은 24시간 내 최대 3회까지 재발송 가능하다.
- 인증 토큰 유효 시간은 10분이다.
- 인증 완료 전 상태: ROLE_DRAFT / 인증 완료 후 상태: ROLE_USER
- ~~비밀번호 재설정을 통해 비밀번호를 변경할 수 있다~~ → 예정 (이메일 인증을 통한 비밀번호 재설정)
- 분야는 복수 선택 가능하다.
- (복수 선택으로 질문 품질 하락 시 주 분야 선택 또는 1개로 제한하는 방향으로 수정 고려)
- 분야는 회원가입 후에도 변경 가능하다. (예정)
- 기존 질문/답변 기록은 유지, 변경 이후에는 새 분야 기준으로 질문 생성
- 회원 탈퇴 및 메일 발송 거부가 가능하다. (예정)

### 회원 정보

항목 | 내용
-- | --
비밀번호 최솟값 | 8자 (코드 기준)
이메일 인증 세부 조건 | 24h 3회 제한, 10분 만료
인증 방식 | JWT, RTR, Grace Period 섹션 추가
분야 enum 값 | BACKEND ~ ETC 8개 명시
구현 상태 | ✅ 구현됨 / (예정) 표기

### 인증 방식

- JWT 기반 인증 (Access Token + Refresh Token)
- Access Token 만료: 기본 15분
- Refresh Token 만료: 기본 14일
- RTR(Refresh Token Rotation) 적용: 재발급 시 Refresh Token도 함께 교체
- Grace Period(기본 10초) 적용: 동시 요청 시 중복 재발급 허용
- 토큰 재사용 탐지 시 모든 세션 강제 종료
- Refresh Token은 SHA-256 + Salt 해싱 후 저장

### 사용자 역할 흐름

회원가입 → ROLE_DRAFT (이메일 미인증)
이메일 인증 완료 → ROLE_USER (정상 회원)

---
## 이력서 등록 (예정)

- 업로드된 이력서에서 텍스트/경험 요소를 추출해 저장할 수 있어야 한다.
- 사용자는 이력서를 저장할 수 있다. (복수 이력서 등록은 추후 고민)
- 지원 파일 형식: Word(.docx), PDF 로 제한한다.
- 사용자는 이력서를 삭제 또는 수정할 수 있다.
- 이력서 파일 크기는 제한된다. (적정 크기 추후 선정)

---
## 질문 생성 (예정)

- 사용자는 메일로 질문 1개를 받는다. (추후 질문 개수 설정 기능 도입 고려, 일단 1개 고정)
- 질문은 이력서와 분야에 기반한 기술 질문 또는 프로젝트 꼬리 질문 위주로 생성된다.
- 중복 질문은 최대한 회피한다. (로직 구현 불가 시 질문 재생성 기능 제공 고려)

---
## 이메일 발송

- ✅ 구현됨: 이메일 인증 메일 발송 (비동기, Event-driven)
- 예정: 매일 지정된 시간 및 요일에 오늘의 질문 메일 자동 발송 (스케줄링)
- 메일에는 질문 목록과 "답변하기" 링크가 포함되어야 한다.
- 사용자는 메일 발송 요일을 설정할 수 있다.

---
## 답변 작성/저장 (예정)

- 사용자는 웹에서 질문별 답변을 작성하고 저장할 수 있어야 한다.
- 미답변 질문은 스킵된다. 단, 재질문 회피 대상에서는 제외한다.
- 답변은 날짜/질문과 매칭되어야 한다.

---
## 답변 피드백 (예정)

- 시스템은 작성된 답변에 대해 AI 피드백을 제공해야 한다.
- 피드백은 재요청 가능하다.
- 피드백은 모범 답변 예시를 포함할 수 있다.
- 피드백은 개선 포인트 중심으로 제공한다. (예: 구체성 / 정량 / 논리)
- 피드백 히스토리는 질문별로 관리되어야 한다.

---
## 진행 현황 (간단 리포트) (예정)

- 사용자는 누적 답변 수, 최근 피드백 요약 등 기본적인 진행 현황을 볼 수 있어야 한다.

---

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.