• 사용자는 메인화면에 접속한다.

    • 로그인하지 않아도 조회 가능하다.
    • 글을 작성하려고 하는 경우 로그인이 필요하다.
    • 사용자는 로고를 클릭해서 메인화면으로 이동할 수 있다.
  • 사뿐은 회원가입을 할 수 있다.

    • 회원가입을 할 때 아이디, 닉네임, 비밀번호, 비밀번호 확인, 이메일은 **필수 값**이다.
    • 프로필 사진을 입력하지 않으면 기본 프로필 사진으로 자동 등록한다.
    • 비밀번호와 비밀번호 확인이 일치해야 한다.
    • 회원가입을 할 때 아이디와 닉네임, 이메일은 고유한 값이다. → 각각 중복확인 필요
  • 사뿐은 로그인을 할 수 있다.

    • 로그인을 하면 AccessToken과 RefreshToken을 발급 받는다.
    • 소셜로그인 & 로컬로그인 두 가지 방법이 존재한다.
    • 로컬로그인을 할 때 아이디+ 비밀번호 로그인을 할 수 있다.
    • 소셜로그인은 KAKAO, naver 총 2가지 방법이 있다.
  • 관리자는 게시글을 관리할 수 있다.

    • 관리자는 DB를 통해 저장한다.
    • 블라인드 처리된 게시글 목록을 조회할 수 있다.
    • 블라인드 처리된 게시글을 삭제하거나 복구할 수 있다.
      • 복구하는 경우 신고건수를 0회로 초기화된다.
  • 사용자는 로그아웃할 수 있다.

    • 로그아웃한 사용자는 블랙리스트 처리한다.
  • 사용자는 자신의 프로필을 수정할 수 있다.

    • 닉네임을 변경할 수 있다. (중복체크)
    • 자신의 프로필 이미지 사진을 변경할 수 있다.
      • 입력하지 않은 경우 기본 프로필 사진으로 자동 등록한다.
  • 비밀번호를 변경할 수 있다.

    • 기존 비밀번호, 변경할 비밀번호, 비밀번호 재입력을 입력한다.
    • 기존 비밀번호가 일치하지 않거나 변경할 비밀번호와 재입력한 비밀번호가 일치하지 않으면 변경 불가능하다.
  • 사용자는 메인화면에서

    • 베스트로 선정된 3개의 산책로 공유글을 볼 수 있다.
    • 각 게시글을 클릭해 상세 조회할 수 있다.
    • 좌측의 메뉴탭을 통해 지역별 게시글로 이동할 수 있다.
    • 우측의 프로필 사진으로 프로필 페이지로 이동할 수 있다.
    • 글쓰기 버튼으로 게시글을 작성할 수 있다.
    • 로그아웃 버튼으로 로그아웃할 수 있다.
  • 사용자는 지역별 페이지에서

    • 좌측의 메뉴탭을 통해 다른 지역별 게시글로 이동할 수 있다.
    • 해당 지역의 게시글들을 조회할 수 있다.
      • 게시글의 제목, 작성자, 지도를 표시한다.
      • 정렬 옵션을 지정할 수 있다 : 좋아요순, 최신순, 오래된순
      • 페이징 옵션: size = 8
      • 신고건수가 3회 이상인 게시글은 블라인드 처리한다.
    • 각 게시글을 클릭해 상세 조회할 수 있다.
    • 글쓰기 버튼으로 게시글을 작성할 수 있다.
    • 추가) 지역별 실시간 채팅방으로 이동할 수 있다
  • 사용자는 게시글 작성 페이지에서 게시글을 작성할 수 있다.

    • 로그인한 사용자만 작성 가능하다.
    • 지역, 제목, 출발지, 목적지, 내용은 필수값이다.
    • 경유지(최대 5개), 사진(제한은 추후 설정)을 추가할 수 있다.