diff --git "a/server/API\353\252\205\354\204\270\354\204\234.md" "b/server/API\353\252\205\354\204\270\354\204\234.md" new file mode 100644 index 0000000000000000000000000000000000000000..94b007dc15edd027b36805d5ae1a2236d62b130b --- /dev/null +++ "b/server/API\353\252\205\354\204\270\354\204\234.md" @@ -0,0 +1,41 @@ +# API 명세서 + +## API 명세 Table + +| Category | HTTP Method | URI | Description | +| -------------- | ----------- | -------------------------- | ----------------------------------------------------------- | +| Data Collector | GET | /data/input?... | 아두이노를 통해 수집한 자료 등록 (내부, 외부는 쿼리로 구분) | +| Data - User | GET | /data/user/:id | 사용자 지정 장소의 데이터 요청 | +| Data - Outside | GET | /data/outside/:id | 해당 지역구의 데이터 요청 | +| Local Code | GET | /loccode/do | 행정 구역 코드 '도' 요청 | +| Local Code | GET | /loccode/sigungu/:id | 사용자 입력 '도'에 따른 행정 구역 코드 '시군구' 요청 | +| Local Code | GET | /loccod/eup-myeon-dong/:id | 사용자 입력 '시군구'에 따른 행정 구역 코드 '읍면동' 요청 | +| Auth | POST | /signup | 회원가입 요청 | +| Auth | POST | /login | 로그인 요청 | +| Auth | POST | /:id/edit-profile | 회원 정보 수정 요청 | + +--- + +## API 명세 기록 + +### 2021.05.03 \_ API 명세 초안 작성 + +1. Data Collector Routes + : 데이터 수집기로 부터 정보를 전송하기 위함 + +- [x] 내부 데이터 수집기로 부터 데이터 전송 +- [x] 외부 데이터 수집기로 부터 데이터 전송 + +2. API Routes + : 최근 해당 지역구 및 사용자 등록 장소의 3시간 이내의 데이터를 그래프로 표현하기 위함 + +- [x] 사용자 가입 시 주소지 목록을 위한 경로 ( 도 / 시군구 / 읍면동) +- [x] 사용자 등록 장소(실내) Data +- [x] 사용자 지역구(외부) Data + +3. Auth Routes + : 사용자 등록, 확인 및 변경. 사용자 메인 + +- [x] 사용자 정보 변경 ( Edit ) +- [x] 사용자 확인 ( Log-in ) +- [x] 사용자 등록 ( Register ) diff --git a/server/src/routes.js b/server/src/routes.js index 0ebc64e66815e04346ded522f7571064cd985c3a..03f7217fabde1e4f0c80fcf7ed065c75469a1425 100644 --- a/server/src/routes.js +++ b/server/src/routes.js @@ -1,16 +1,48 @@ -// Global Routes +// # Global Routes const HOME = "/"; -// Data Input +// # Data Routes const DATA = "/data"; +// Data - Collector const DATA_INPUT = "/input"; -const DATA_OUTPUT = "/output"; +// Data - Consumer +const DATA_USER = "/user"; +const DATA_OUTSIDE = "/outside"; + +// # Local Code Data +const LOCCODE = "/loccode"; +const DO = "/do"; +const SIGUNGU = "/sigungu"; +const EUPMYEONDONG = "/eup-myeon-dong"; + +// # Auth +const REGISTER = "/register"; +const LOGIN = "/login"; +const EDIT_PROFILE = "/edit-profile"; + +// # Detail Object +const DETAIL = "/:id"; const routes = { home: HOME, data: DATA, dataInput: DATA_INPUT, - dataOutput: DATA_OUTPUT, + dataUser: DATA_USER, + dataOutside: DATA_OUTSIDE, + locCode: LOCCODE, + do: DO, + sigungu: SIGUNGU, + eupmyeondong: EUPMYEONDONG, + register: REGISTER, + login: LOGIN, + editProfile: EDIT_PROFILE, + Detail: (id) => { + if (id) { + return `/${id}`; + } else { + return DETAIL; + } + }, }; export default routes;