기능 요구사항 - Hee-Jae/RacerPortfolio GitHub Wiki

로그인

필수

  • 유저로부터 아이디(이메일)와 비밀번호 정보를 입력받아 로그인 합니다.
  • 아이디와 비밀번호는 필수 입력 사항 입니다.
  • 로그인한 유저에 대해 session(Token)으로 관리해야 합니다.

선택

  • 비밀번호는 다음의 링크1, 링크2에 맞추어 최소 8자리 이상의 길이로 입력 받아야 합니다.
  • 아이디는 이메일 형식으로만 입력 받아야 합니다.

회원가입

필수

  • 유저로부터 아이디(이메일), 비밀번호, 이름 정보를 입력받아 회원가입합니다.
  • 비밀번호와 비밀번호 확인의 값이 일치해야 합니다.

선택

  • 아이디는 이메일 형식으로만 정보를 입력 받아야 합니다.
  • 이름은 한글, 영문으로만 입력 받아야 합니다.
  • 비밀번호는 다음의 링크1, 링크2에 맞추어 영문, 숫자, 특수문자 중 2종류 이상을 조합하여 최소 10자리 이상 또는 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성합니다.

로그아웃

필수

  • 현재 로그인한 유저에 대해 로그아웃 합니다.
  • 로그아웃한 유저를 현재 session에서 제거해야 합니다.

내 포트폴리오 보기, 수정, 업로드, 삭제

필수

  • 학력: 학교이름, 전공 정보를 text 형식으로 입력받습니다. 학위에 대한 사항은 radio button을 통해 입력받습니다.
  • 수상 이력: 수상 내역과 상세내역을 text 형식으로 입력받습니다.
  • 프로젝트: 프로젝트 이름과 상세내역을 txt 형식으로 입력받습니다. 프로젝트 수행기간은 datepicker를 활용해 날짜(년월일)를 입력받습니다.
  • 자격증: 자격증 이름, 공급기관을 text 형식으로 입력받습니다. 취득일자는 datepicker를 활용해 날짜(년월일)를 입력받습니다.

선택

  • 모든 정보는 validation 되어야 합니다.
  • 프로필 이미지를 클릭하여 업로드 및 재업로드 할 수 있습니다.

다른 유저 정보 검색

필수

  • 다른 모든 유저의 정보를 네트워크 화면에서 로딩합니다. (페이지네이션 없이 모든 정보를 출력합니다.)
  • 유저 정보에서 정보보기 클릭시, 다른 유저의 정보를 볼 수 있는 "유저정보보기" 페이지로 이동합니다.

선택

  • 이름을 입력하여 검색하며 최소 2글자 이상을 입력해야합니다.
  • 검색 결과가 없을 시, 화면에 "검색 결과가 없습니다." 라는 메세지를 출력합니다.
  • 2글자 미만의 이름을 입력하고 검색 시 alert 창과 함께 "검색어는 최소 2글자 이상 입력해야 합니다." 메세지 출력합니다.

유저 정보 보기 페이지

필수

  • 내 포트폴리오 보기 페이지와 같이 대상 유저의 학력, 수상 이력, 프로젝트, 자격증 정보를 표시합니다.

선택

  • 구글 Oauth를 활용하여 로그인 가능해야 합니다.

개인적인 욕심

  • 로그인 안하면 로그인, 회원가입 페이지 외에 접속 불가
  • access_token 만료시 refresh_token을 이용해 재발급
  • CSS 작업
  • 프로필 사진 수정 좀 더 자연스럽게
  • 프로필 사진 없을 경우 default 이미지 띄우기