05-16 05:32
Recent Posts
Recent Comments
관리 메뉴

miinsun

[Lehgo] 기능 정의 본문

Project/2022 Lehgo

[Lehgo] 기능 정의

miinsun 2022. 4. 5. 15:05

- 요구사항 정의서

ID 구분 서비스(메뉴) 기능 상세기능
1 1 사용자 회원가입 일반회원가입 이메일 회원가입 지원
        SNS회원가입 네이버 회원가입 지원
          카카오 회원가입 지원
          구글 회원가입 지원
        개인정보 제공 동의 회원가입시 입력한 정보를 서비스에 활용하는 것에 대한 동의
2 1     이메일 로그인 / 로그아웃  
  2     SNS 로그인 네이버, 카카오, 구글
  3     아이디 찾기 가입한 휴대폰 번호로 아이디 찾기
  4     비밀번호 찾기 가입한 아이디와 휴대폰 번호로 비밀번호 찾기
3 1   개인취향 설문 문항 선택지 사용자 기초 데이터 수집을 위한 설문 제공
  2     설문 결과 유형 분류 선택지 기반에 따른 특정 여행자 유형 분류
4 1   메인페이지 종목 검색 종목 이름으로 해당 종목을 찾을 수 있음
  2     프로필 이름과 사진으로 표시, 사진은 선택사항
  3     계정관리 회원정보, 프로필 사진, 관심종목을 수정할 수 있음
5 1   왼쪽 메뉴 바 마이페이지 회원 정보 확인 가능
  2     검색 장소 검색
6 1   마이페이지 사용자 검색 기록 사용자가 검색창에 검색했던 여행지 최신순으로 배치
  2     찜 목록 사용자가 원하는대로 폴더별 분류 가능
  3     나만의 코스 사용자가 조직한 여행 코스 저장소
  4     취향 설문 다시하기 가입 시 했던 설문조사 다시 진행 이때 사용자 score 초기화
  5     정보 수정 비밀번호 입력으로 본인인증 후 회원 정보 수정 가능
  6     회원 탈퇴 회원 정보 삭제 및 탈퇴 사유 선택

 

 

- 리퀘스트 흐름도

기능 rest api url method data response
로그인 / 로그아웃
  로그인/로그아웃 O /user POST id, password  
회원 관리
회원 가입
일반 회원 가입 O /users/new POST    
SNS 회원 가입 1. 구글 로그인 요청 /oauth/google
2. 카카오 로그인 요청 /oauth/kakao
3. 네이버 로그인 요청 /oauth/naver
    HttpStatus.ok
정보 입력 개인 취향 설문 O /users/type?type={type} POST User:user userkeyword
정보 찾기
아이디 찾기 O users/findid/{email} GET   String: id
비밀번호 찾기 O /users/findpw?id={id}&email={email} GET   User
비밀번호 재설정 O /users/resetpw?pw={pw} PUT User:user HttpStatus.OK
정보 관리
정보 보기 O /users/{id} GET    
정보 수정 O /users?id={id} POST    
유저 키워드 유저 설문조사 유무 O /user/keyword/isin?id={userId} GET   Boolean
회원 탈퇴 회원 탈퇴 O /users/{id} DELETE    
여행지
여행지 정보
특정 여행지 정보
O /place/search?id={id} GET   List<Place>
O /place/search/content?content={content} GET   List<Place>
O /place/search/category?category={category} GET   List<Place>
여행지 검색
검색(서치) 결과 여행지 목록
O /place/search/area?area={area} GET   List<Place>
O /place/search/content?content={content} GET   List<Place>
이름으로 검색 O /place/search/name?name={name} GET   List<Place>
내용, 지역명, 이름으로 검색 O /place/search/all?query={query} GET   List<Place>
다른 페이지 검색 (인스타 등) O /open/naver/blog?query={query} GET   JSON
네이버 API 활용
네이버 이미지 API O /open/naver/image?query={query} GET   JSON
네이버 맵스 API O /open/naver/map?query={query} GET   JSON
사용자-여행지
사용자 추천 여행지 목록 /ai POST User:user
PlaceKeyword List 리턴

사용자 선호 여행지 등록 O /place/mylist/like?id={placeid} POST User:user HttpStatus: OK, HttpStatus: conflict
사용자 선호 여행지 목록 O /place/mylist/ POST User:user List<UserLikePlace>
사용자 선호 여행지 삭제 O /place/mylist/delete?id={placeid} POST User:user HttpStatus: OK, HttpStatus: conflict
사용자가 본 여행지 목록 반환 O /place/visited POST User:user List<UserSearchPlace>
사용자가 본 여행지 저장 O /place/visited/add?id={Placeid} POST User:user HttpStatus: OK, HttpStatus: conflict
사용자가 본 여행지 삭제 O /place/visited/delete?id={placeId} POST User:user HttpStatus: OK, HttpStatus: conflict
사용자 개인 여행지 추가 O /place/new?id={userId} POST Place:place Place
폴더
폴더 리스트 리턴 O /folder/list?user={userId} GET   List<Folder>
폴더 리턴 O /folder?id={folderId} GET   Folder:folder
폴더 생성 O /folder/new?name={name} POST User:user Folder:folder
폴더 수정 O /folder/update?id={folderId}&name={newName} PUT Usre:user Folder:folder
폴더 삭제 O /folder/delete?id={folderId} POST User:user HttpStatus: OK, HttpStatus: conflict
폴더에 장소 등록 O /folder/place/new?place={placeId}&folder={folderId} GET   FolderPlace
폴더에 장소 삭제 O /folder/place/delete?place={placeId}&folder={folderId} GET   HttpStatus: OK, HttpStatus: conflict
폴더 내 장소목록 O /folder/place/list?folder={folderId} GET   List<FolderPlace>
폴더에 있는 장소 유무 O /folder/isin?id={userId}&pid={placeId} GET   Boolean, 있으면 True, 없으면 False
코스
코스
유저가 갖고 있는 코스 O /course/list?user={userid} GET   List<Course>
코스 정보
O /course?cid={courseId} GET   Course
O /course/my?id={userid}&cid={courseId} GET   Course
볼 수 있는 코스 List O /course GET   List<Course>
코스내 place 목록 O /course/detail?cid={courseId} GET   List<CoursePlace>
코스 저장 O /course/new?name={courseName} POST User:user HttpStatus: OK, HttpStatus: conflict
코스내 place 추가 O /course/detail/new?cid={courseId}&pid={placeId}&priority={priority} GET   CoursePlace
코스 수정 O /course/update PUT Course:course HttpStatus: OK, HttpStatus: conflict
코스내 내용 수정(우선순위) O /course/detail/update PUT CoursePlace  
코스 삭제 O /course/delete?cid={courseId} DELETE   HttpStatus: OK, HttpStatus: conflict
코스 내 place 삭제 O /course/detail/delete?cid={courseId}&pid={placeId} DELETE   HttpStatus: OK, HttpStatus: conflict
코스 좋아요 List O /course/like?id=user GET   List<UserLikeCourse>
코스 좋아요 추가 O /course/like?cid={courseId} POST User:user UserlikeCourse
코스 좋아요 삭제 O /course/like?cid={courseId} DELETE User:user HttpStatus: OK, HttpStatus: conflict
관리자
회원 관리
가입 회원 목록 O /admin POST User:user (관리자) List<User>
Comments