---
# System prepended metadata

title: 프로젝트 김농만 요구사항
tags: [서비스 요구사항]

---

###### tags: `서비스 요구사항`

프로젝트 김농만 요구사항
====

[toc]

:::info
**Semantic Versioning**
[Ref](https://semver.org/)
프로젝트 김농만은 semantic versioning 규칙을 따른다.  
**Version: 0.0.1**  
Major version up: 이전 버전의 기능들과 함께 사용이 불가능한 새로운 기능을 개발할 때마다  
Minor version up: 새로운 기능일 추가될 때마다  
Patch version up: 현재 기능의 버그를 수정할 때마다  
:::
## 낭만농객
낭만농객은 로컬트립을 이어주는 플랫폼

## 목적
낭만농객 서비스를 만들어 사용자들이 지친 현대속에서 마음이 따뜻해질 수 있게 함

## 용어 정의

:::spoiler
### 농만쓰
낭만농객 서비스를 사용하는 모든 가입자
### 농만이
낭만농객 서비스를 사용하는 가입자
:::

## 사용자 요구사항 정의
낭만농객 웹 서비스에 대한 요구사항을 정의한다.

### :snowboarder: 인증
사용자가 낭만농객을 이용하기 위해 인증하는 요구사항을 정의한다.
- 이메일로 이용을 하는 사용자는 회원가입을 통해 계정을 생성할 수 있다.
    - 회원가입 시 다음의 **정보**를 기입한다.
        - 비밀번호
        - 이메일
          - 이메일은 이메일 인증이 필요로 될 수도 있음 가입 시 중복 방지를 위해:question:
          - or 이메일 중복을 허용하고 SNS인증만으로, 해결하는 것으로 해도 될 듯 (이 경우 중복 처리에 대한 계획이 필요)
        - Simple !
    > 휴대폰번호와 이름 및 생일과 같은 정보는 일반회원 같은 경우에는 SNS인증을 통해서 가져올 수 있도록 함  
    > [Ref](https://naamezip.com/)에서 참조..
    - 계정을 생성할 때 **속성을** 선택할 수 있다.
        - [Ref](https://www.baconbox.co/)
        - **속성 리스트**
          > 속성 리스트에 대한 정확한 명시가 요구됨 :whale: 
            - 허리 건강도
                - 에너자이저
                - 보통
                - 디스크
            - 무릎 건강도
                - 무에타이 니킥
                - 보통
                - 휠체어
            - 수저 색
                - 금수저
                - 은수저
                - 흙수저
            - 학벌
                - 중졸
                - 고졸
                - 대졸
            - 이상형 보는 부위
                - 얼굴
                - 몸
                - 지갑
            - 음주
                - 맥주
                - 소주
                - 와인
            - 이동 수단
                - 뚜벅이
                - 자동차
                - 스쿠터
                - 자전거 등
                
- 사용자는 생성한 계정으로 **인증** 할 수 있다.
- 사용자는 **SNS** 계정으로 **인증** 할 수 있다.
    - Kakao
    - Naver
    - *SNS 계정인증 api 구현 같은 경우에는 일반 회원가입 사용자 인증 구현 후에 이루어질 예정*

- 사용자는 계정을 **관리할** 수 있다.
    - 사용자는 **bio를** 등록할 수 있다.
        - 자기소개
        - 프로파일 사진
- 사용자는 **비밀번호**를 변경할 수 있다.
- 이메일로 가입한 사용자는 **비밀번호 찾기** 기능을 이용할 수 있다.
  - 이메일로 가입한 사용자의 경우 이메일 찾기 기능까지는 제공해주지 않고, 비밀번호 찾기 기능에 대해서만 제공

### :sailboat: 모듈
사용자가 모듈을 등록하고 신청하는 요구사항을 정의한다.
- 사용자는 모듈을 **등록할** 수 있다.
    - 휴대폰 **인증을** 받은 사용자만 가능
    - 모듈등록 시 **템플릿에** 맞게 작업을 진행한다.
      - 템플릿 구조
        - 타이틀
        - 썸네일 이미지
        - 간단한 설명
        - 주소
        - 구체적인 설명
        - 메인 이미지
        - 수용 인원
        - 일정 (다중 선택가능)
            - 날짜
            - 시간
            - 날짜를 선택하고 24시간 중 1시간 단위로 해서 모듈이 진행되는 시간을 선택가능
            - ex) 2020-09-28 19시
            - ex) 2020-09-28 19시, 20시, 21시
            - ex) 2020-09-28 19시, 2020-09-29 19시
        - 가격
        - 모듈진행 시간 (시간 단위 선택 가능)
          - ex) 1시간
          - ex) 3시간
        - 카테고리
          - 숙박
          - 식사
          - 액티비티
        - 해쉬태그 (다중 입력 가능)

    - UI에 노출이 될 필수 내용을 적을 수 있다.
        - **제목**
        - 간단한 **설명**
        - **썸네일** 사진
    - ~~**상세** 내용을 등록할 수 있다.~~ (2차 스코프)  
        ~~- 굵게, 기울임, 사진등록, 정렬 등 블로그 형식~~
    - ~~관리자는 등록된 모듈에 대해 **승인을** 줄 수 있다.
        ~~- 승인된 모듈은 즉시 UI에 표출된다.~~
        ~~- 승인과정에서 필요한 내용을 관리자와 사용자가 **대화할** 수 있다.~~(2차 스코프)
        ~~- 대화가 생성될 때 **알림을** 줄 수 있다.~~ (2차 스코프)

- 모듈을 등록한 사용자는 모듈을 **수정할** 수 있다.
    - 모듈 등록을 한 사용자에 한해 수정가능
    - 컨펌을 다시 진행해 주어야 함

- 모듈을 등록한 사용자는 모듈을 **삭제할** 수 있다.
    - 모듈 등록을 한 사용자에 한해 삭제가능

- 모든 사용자는 모듈을 **확인할** 수 있다.
    - UI에 노출된 모듈제목, 간단한 설명, 썸네일 사진을 확인할 수 있다.
      - **Searching**
        - 해쉬태그 검색
          - 해쉬태그 카운팅
        - 제목 검색
      - **Sorting**
        - 카테고리

    - 모듈의 상세내용을 확인할 수 있다.
      - 모듈 탭
      - 메인 페이지

- 인증된 사용자는 모듈을 **위시리스트에** 등록할 수 있다.
    - 인증된 사용자는 모듈의 가능시간 단위로 위시리스트에 모듈을 등록할 수 있다.
        - 위시리스트에 등록시 희망하는 **날짜와 시간**을 선택할 수 있다. (다중선택 가능)

- 디자인 컨셉
    - (idea.1) 베지터 안경 컨셉
        - 모듈의 스펙(?) 을 볼 수 있음


> 위시리스트, 히스토리, 농만이의 여정, 뱃지, 농만쓰 다 묶어서 마이페이지에 넣는 것이 깔끔해 보임
### :flag-my: 마이페이지
-------
### :dolphin: 농만이의 여정 
사용자가 등록한 농만이의 여정 URL을 토대로 크롤링하여 정보를 표시
- 사용자는 농만이의 여정을 **등록할** 수 있다.
    - 농만이의 여정 정보가 담긴 URL
        - SNS URL
- **농만이의 여정**(사용자가 올린 SNS)를 확인할 수 있다.
- Ref: 베이컨 박스

### :hamburger: 위시리스트
위시리스트에서는 위시리스트에 추가한 모든 모듈을 보여준다.
- 위시리스트에 등록한 모듈을 **확인할** 수 있다.
    - 날짜와 시간별로 모듈제목을 확인할 수 있다.
    - 모듈제목을 선택하면 상세내용을 볼 수 있다.
- 위시리스트에 등록된 모듈을 **결제할** 수 있다.
    - 위시리스트에 등록된 모듈에 대해 결제를 진행할 수 있다.  
      ~~- 결제는 PG로 진행 된다. (Scope 3)~~
      - 결제는 기업계좌로 진행 된다.
- 위시리스트에 등록된 모듈을 **취소할** 수 있다.

### :hibiscus: 히스토리 (결제된 모듈 시각화)
사용자가 여행을 다녀왔던 **히스토리를** 관리하는 요구사항
- 예약신청하여 다녀왔던 모듈을 확인할 수 있다.

### :de: 뱃지
사용자는 경험치에 따라 뱃지를 부여받을 수 있다.
- **허클베리핀**
    - 회원가입을 완료
- **여행의 시작**
    - 첫 예약 성공
- **짬타이거**
    - 농장일을 10번 이상 예약
- **추노**
    - 농장일 예약 후 3번이상 취소

### :bacon: 농만쓰 
사용자는 계정을 생성한 사용자들을 확인할 수 있다.
- 농만이의 정보를 확인할 수 있다.
    - 농만이의 **뱃지**
    - 농만이의 **특성**
    - 자기소개

## 레퍼런스
- [남의집](https://naamezip.com/)
- [카우치 서핑](https://www.couchsurfing.com/dashboard)
- [나이키런](https://www.nike.com/kr/ko_kr/c/running/nike-run-club)
- [베이컨박스](https://www.baconbox.co/)
