---
# System prepended metadata

title: 세부 기능

---

# 세부 기능

## 체크리스트 저장 시 알림 여부 설정

체크리스트를 저장 할 때에 주변 사람들에게 알림이 갈지를 설정

* req
    * jwt
    * 체크 -> boolean
* res
    * http status code

## 체크리스트 지인 확인 가능 여부 설정

작성한 체크리스트를 지인에게 공개할지 말지를 설정

* req
    * jwt
    * 체크 -> boolean
* res
    * http status code

~~둘이 합쳐질수도 이씅~~

## 체크리스트 저장

달력을 체크해서 해당 날짜에 어떤 증세가 있었는지(설문을 통해) 작성한다.
(설문지 - 구글링 통해 정리 필요할것같음..)

달력을 띄움
환자가 입력하고 싶은 날짜를 선택하면 체크리스트를 출력함 (상세 내용은 구글링을 통해 주요 증상들을 적어놓으면 될 듯)
 - 발작 강도 (약함/강함/매우강함 아니면 숫자로?) / 발작 위치(왼/오 다리, 왼/오 팔 등등) / 발작 지속 시간 표시
 - 기분 (예민함/우울함/짜증남 등등)
 - 기타 사항을 적을 수 있는 메모 칸이 있으면 좋을 듯, 체크리스트로 표현할 수 없는?ja
 - 약 복용 여부 / 약 복용 시간 체크 => 날짜별로 모든 정보를 입력하는 체크리스트가 좋은지 아니면 증상 따로 약 복용 따로 관리하는게 좋은지...
 - 누구누구가 증상을 기록했습니다! 라는 로그가 가도록

* req
    * 작성날짜&시간(String / LocalDateTime)
    * 유저아이디 -> jwt
    * 증상 (List) -> Body
* logic
    * 보낼거면 저장된 주변 인원들에게 메세지 전송
    * 설정 됐으면!
        * "누가, 언제, 어떤 내용을 저장함!" 이라고 감
* res
    * Http Status Code

### 체크리스트(설문지) 호출

호출 요청 시 백엔드에 저장되어 있는 데이터를 보내줌
-> 체크리스트 보내기

* req
    * 유저아이디 -> jwt
* res
    * 체크리스트 데이터들(enum)
* front에서 할수도 있음

## 저장한 체크리스트 데이터 호출 (캐싱필요)

달력에서 자신이 저장한 데이터의 날짜를 볼 수 있는 화면
\+ 가족이나 기능이 부여된 인원은 볼 수 있어야 함.

* req
    * jwt
    * 환자 유저 id
        * authorization
        * 이사람이 볼 수 있는 사람인지 확인해야함
    * LocalDateTime(사실 필요한건 월정도??)
* logic
    * 내 체크리스트를 볼 수 있는 유저라면 볼수있음
* res(List)
    * LocalDateTime
        * LocalDateTime 별 증상(enum)

## 생활수칙 이미지

유저가 접근하면 url 링크를 통해 사진을 뽑아내서 보여준다.
로그인 안해도 보여줄 수 있을듯
기능적으로는 비슷해서~

* req
    * enum(각 용도별 title/value)
* res
    * imageUrl


## 긴급 문자 전송용 정보 제공 기능

등록한 번호(가족/친구)로 긴급문자가 전달된다.

* req
    * 유저 정보(jwt)
* logic
    * 저장되어있는 가족/친구 정보를 조회해 긴급 문자를 보낸다.
    * 개인정보 포함(이름, 거주지, 현위치, 시간 등)
* res
    * Http Status Code


## 긴급 전화

긴급 전화 버튼을 누르면 119로 문자가 가는 기능

* req
    * 유저 정보(jwt)
* logic
    * 119로 긴급 문자를 보낸다.
    * 개인정보 포함(이름, 거주지, 현위치, 시간 등)
* res
    * Http Status Code


# 유저

### 로그인

* req
    * id
    * pw
* res
    * jwt
    * http status code


### 로그아웃

* req
    * 호출
* res
    * jwt 없애기
    * http status code

### 개인정보 등록 (선택)

* req
    * jwt
    * name(선택)
    * pw (확인용)
    * 환자 / 가족 / 지인 여부
        * 가족 / 지인이면 어떤 환자인지
        * 장애 등급
    * 전화번호
    * 생년월일
    * 거주지
    * 뇌전증 진단일(선택)
    * 마지막 검사일(선택)
    * 약 복용 유무(선택)
* res
    * http status code

### 비밀번호 수정
* req
    * 현재 비밀번호
    * 바꿀 비밀번호
* res
    * http status code

### 회원가입

* req
    * 아이디(필수) (Unique)
    * name(필수)
    * pw (필수)
    * 환자인지 여부 (필수)
    * 전화번호(필수) (Unique)
    * 생년월일(선택)
    * 거주지(선택)
    * 뇌전증 진단일(선택)
    * 마지막 검사일(선택)
    * 약 복용 유무(선택)
* res
    * Http Status Code


# 환자 커뮤니티

### 모든 글 불러오기

* req
    * pagenation(글id로)
* res
    * 글 제목
    * 글 id
    * 작성자 ID
    * 작성자 name

### 글 하나 불러오기
* req
    * 글 id
* res
    * 글 제목
    * 글 내용
    * 작성자
    * 작성 시간

### 글 작성
* req
    * jwt
    * 글제목
    * 글내용
* res
    * Http Status Code

### 글 수정
* req
    * jwt
    * 글 id
    * 수정할 글 제목
    * 수정할 글 내용
* res
    * Http Status Code

### 글 삭제
* req
    * 글 Id
    * jwt
* res
    * Http status code

### 검색 기능 - 제목, 내용 나눠서1

* req
    * 검색 단어
    * 제목 검색인지, 내용 검색인지 구분하는 parameter
* res
    * 글 id
    * 글 제목
    * 글 내용

### 댓글 불러오기

* req
    * 글 id
* res
    * 댓글 작성자
    * 댓글 내용
    * 작성일자

### 댓글 작성

* req
    * jwt
    * 글 id
    * 댓글 내용
* res
    * http status code
    * 댓글 Id

### 댓글 수정

* req
    * jwt
    * 댓글 id
    * 댓글 내용
* res
    * http status code
    * 댓글 Id

## 댓글 삭제

* req
    * jwt
    * 댓글 id
* res
    * http status code

## 대댓글 작성

* req
    * jwt
    * 댓글 Id
    * 대댓글 내용
* res
    * 대댓글 id

## 대댓글 수정/삭제

## 가족

### 가족/지인 등록 요청

* req
    * jwt
    * 지인/가족 전화번호
* logic
    * 환자만 보낼 수 있음
    * 전화번호 있건 없건 요청테이블 데이터 생성(상대의 허락 필요)
        * 요청 지인 전화번호
        * 요청한 사람(환자) id
        * 요청 관계(지인 / 가족)
    * 없는 전화번호면 메세지~
* Res
    * 전화번호
    * http status code

### 가족/지인 등록 수락
* req
    * jwt
    * 환자 id
* res
    * Http Status Code
    
### 가족/지인 삭제
* req
    * jwt
    * target id
* res
    * Http Status Code
* logic
    * 환자와 환자가 아닌 사람 모두 할 수 있음

### 환자에게 등록한 가족/지인 데이터

* Req
    * jwt
* res(List)
    * 지인 id
    * 지인 name
    * 지인 전화번호

### 나에게 등록된 환자에 대한 데이터

* Req
    * jwt
* res(list)
    * 환자 id
    * 환자 name
    * 환자 전화번호



---
### 발작 주기 설정

?? 주기있나?
**나중에~~~~**

### 발작 주기 알림

알림 주기를 앱이 계산하거나 환자가 등록하면 그 시간대에 알림이 울린다.
알림을 안끄면 긴급 문자 전송 기능 호출함.
유저 정보를 사용해서 보내줌

### 소셜 가입 및 로그인 (우선순위 낮은듯)

* OAuth2 + jwt????
    * 어떻게 할지 좀 애매쓰

1

## 이동수단(콜택시) 예약
### 이동수단 목록 불러오기
### 이동수단 상세정보 불러오기
### 기사에게 문자로 현재 위치와 목적지, 증상(?)을 보내는 기능

* 질문내용
    * ㅇㅅㅇ합격하면~ㅋzzz

