서비스명 : need !t
총괄 팀장
: 김부희front
: 김태중, 박규란, 김형욱, 윤상준back
: 이하정, 김부희, 박권규요구사항 명세서
도메인
요구사항명
기능명
요구사항 상세
우선순위
회원 관리
회원가입
• 회원으로 가입하기 위해 이메일, 비밀번호, 닉네임, 핸드폰 번호 정보를 입력
• 회원가입 시 이메일 인증(중복검사) 및 닉네임 중복검사
• 닉네임 & 비밀번호 유효성 검사
• 이메일 인증 :
인증
버튼 클릭 시 이메일이 전송되어 이메일 인증( 인증확인 링크 or 인증코드)을 진행하면 가입 완료. 완료되면 메인페이지로 이동상
회원 관리
로그인
• 이메일, 비밀번호를 입력하여 로그인 / 로그아웃 / 비밀번호 재설정
• 로그인 시 이메일 형식이 아니면 사용자에게 유효성 표시
• 로그인 실패 시 실패 사유 문구를 노출
• 사용자는 비밀번호를 분실하였을 때 이메일 인증을 통해 새로운 비밀번호로 변경 가능
• 로그아웃 버튼 클릭 시 메인 페이지로 이동
• 일정 횟수 이상 실패 시 일정 기간 동안 로그인 시도를 차단
상
회원 기부글 관리
기부글 등록
• 기부하고 싶은 물품이나 재능이 있다면 기부글 등록 가능
• 사용자 중 회원만이 기부글 등록 가능
• 제목, 카테고리, 거래 상태(default 값-기부 중), 이미지, 기부물품 상태(상, 중, 하), 설명 입력
회원 기부글 관리
기부글 삭제
• 회원은 자신이 등록한 기부글 삭제 가능
• 해당 기부글에는 더 이상 접근 불가
• 진행 중이던 쪽지와 연결된 게시글 클릭 시 실패 사유 문구 노출 ("존재하지 않는 게시글입니다.")
회원 기부글 관리
기부글 목록 조회 - 검색
• 사용자(회원, 센터)는 제목, 카테고리로 기부글 검색 가능
• 필터(제목, 카테고리)가 적용되지 않았다면 전체 목록 조회 가능
• 각각 목록 : 회원 프로필 사진, 제목, 거래 상태, 설명 일부
• 커서 페이징 또는 오프셋 페이징
회원 기부글 관리
기부글 단일 상세조회
• 사용자(회원, 센터)는 제목, 카테고리, 거래 상태, 이미지, 기부물품 상태, 설명 등 상세 정보 조회 가능
• 기부글 작성자에게는
수정
, 삭제
버튼 노출
• 회원의 프로필 사진 클릭 시 회원의 마이페이지로 이동
• 센터의 기부 요청 목록/댓글 조회 가능댓글 관리
기부글의 댓글 등록
• 사용자(회원, 센터)는 기부글의 댓글 작성 가능
• 댓글 내용 입력
• 댓글 작성자에게는
수정
, 삭제
버튼 노출
• 기부글 작성자에게는 쪽지보내기
버튼 노출센터의 기부 요청 관리
기부 요청 목록 조회
• 사용자(회원, 센터)는 기부 요청에 참여한 센터 조회 가능
• 회원은 우측
쪽지보내기
버튼 클릭 시 쪽지 폼 노출센터 관리
센터가입
• 센터로 가입하기 위해 이메일, 비밀번호, 센터 이름, 센터 전화번호, 사업자등록번호 정보 입력
• 센터가입 시 이메일 인증(중복검사), 사업자등록번호 진위 확인검사
• 비밀번호 유효성 검사
센터 기부요청글 관리
기부요청글 등록
• 기부받고 싶은 물품이나 재능이 있다면 기부요청글 등록 가능
• 사용자 중 센터만이 기부요청글 등록 가능
• 제목, 카테고리(분야), 관련 태그, 이미지(선택), 설명 입력
센터 기부요청글 관리
기부요청글 삭제
• 센터는 자신이 등록한 기부요청글 삭제 가능
• 해당 기부요청글에는 더 이상 접근 불가
• 진행 중이던 쪽지와 연결된 게시글 클릭 시 실패 사유 문구 노출 ("존재하지 않는 게시글입니다.")
센터 기부요청글 관리
기부요청글 목록 조회 - 검색
• 사용자(회원, 센터)는 제목, 카테고리로 기부요청글 검색 가능
• 필터(제목, 카테고리)가 적용되지 않았다면 전체 목록 조회 가능
• 각각 목록 : 센터 프로필 사진, 제목, 설명 일부
• 커서 페이징 또는 오프셋 페이징
센터 기부요청글 관리
기부요청글 단일 상세조회
• 사용자(회원, 센터)는 제목, 카테고리, 관련 태그, 이미지(선택), 설명 등 상세 정보 조회 가능
• 기부요청글 작성자에게는
수정
, 삭제
버튼 노출
• 센터의 프로필 사진 클릭 시 센터의 마이페이지로 이동
• 회원의 기부 신청 목록/댓글 조회 가능댓글 관리
댓글 작성
• 사용자(회원, 센터)는 기부글의 댓글 작성 가능
• 댓글 내용 입력
• 댓글 작성자에게는
수정
, 삭제
버튼 노출
• 기부요청글 작성자에게는 쪽지보내기
버튼 노출회원의 기부 신청 관리
기부 신청 목록 조회
• 사용자(회원, 센터)는 기부 신청에 참여한 회원 조회 가능
• 센터는 우측
쪽지보내기
버튼 클릭 시 쪽지 폼 노출쪽지 관리
쪽지 보내기
• 회원의 기부글 : 센터의 기부 요청 목록 확인 후 우측에 있는
쪽지보내기
버튼을 통해 기부를 요청한 센터에게 쪽지 전송 가능
• 센터의 기부요청글 : 회원의 기부 신청 목록 확인 후 우측에 있는 쪽지보내기
버튼을 통해 기부를 신청한 회원에게 쪽지 전송 가능쪽지 관리 (마이페이지)
쪽지 목록 조회
• 사용자 별로 분리하여 쪽지 목록 조회 가능
• 사용자(회원, 센터)는 구별(받은 쪽지, 보낸 쪽지), 내용 일부, 날짜로 쪽지 목록 조회 가능
• 특정 쪽지 클릭 시 상세조회 가능
프로젝트 기술 스택
프론트엔드 개발 언어 및 활용 기술
개발 환경
- IDE : VSCODE
- 개발 언어 : JavaScript
- 프레임워크 : ReactJS (CRA)
- 상태관리: Context API
- 컴포넌트 UI: styled-components / storybook
- UI 프레임워크: material ui
협업 관리
- 커뮤니케이션 : Slack / Discord
- 이슈 관리 : Jira
백엔드 개발 언어 및 활용 기술
백엔드 개발 환경
- IDE : IntelliJ
- 개발 언어 : Java 11
- 프레임워크 : SpringBoot
- 영속성 프레임워크 : JPA
- 빌드도구 : Gradle
- 데이터베이스 : MySQL
- 파일 저장소: Cloudinary
협업 관리
- API 문서화 : Swagger
- 이슈 관리 : Jira
- 커뮤니케이션 : Slack / Discord
- Git / Github
배포
- AWS EC2 + CodeDeploy + Github Actions