GithubHelp home page GithubHelp logo

scvgood287 / 01-c-labq Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pre-onboarding-team-c/01-c-labq

0.0 0.0 0.0 220 KB

원티드 프리온보딩 백엔드 코스 3차 참가 기업 과제 1주차인 "(주)랩큐"의 기업 과제를 해결하기 위해 생성한 레퍼지토리입니다.

JavaScript 100.00%

01-c-labq's Introduction

(주)랩큐

환경

node npm

사용법

레퍼지토리를 clone한 뒤, npm install을 하고 .env파일을 다음과 같이 작성한다.

AUTHORIZATION_KEY=서울열린데이터광장에서 인증키를 받아 사용

서비스 개요

하수관로 수위, 강우량, 둘을 결합한 데이터, 총 세 가지 종류의 데이터를 한 페이지 당 10개씩 제공하는 가상의 클라이언트(웹) 에서 사용할 API.

요구사항 분석

  • 데이터 JSON 전달
  • 기본 서울시 하수관로 수위 현황 데이터 수집
    • 하수관로 수위 현황 데이터 얻는 함수 구현
  • 기본 서울시 강우량 데이터 수집
    • 강우량 데이터 얻는 함수 구현
  • 하수관로 수위, 강우량 데이터를 결합
    • GUBN_NAM(구분명), GU_NAME(구청명) 기준으로 데이터를 결합하는 함수 구현
  • 하수관로 수위 목록 조회 REST API 구현
  • 강우량 목록 조회 REST API 구현
  • GUBN(구분코드), MEA_YMD(측정일자1), MEA_YMD2(측정일자2), 페이지로 하수관로 조회하는 REST API 구현
    • GET /drainpipes?gubn=01&limit=1&meaYmd={MEA_YMD}&meaYmd2={MEA_YMD2}
  • 페이지, GU_NAME(구청명)로 조회하는 REST API 구현
    • GET /rainfalls?limit=1&guName=강남구
  • OpenAPI 문제로 xml 형식 문자열 파악하는 함수 구현
    • json 형식인데 xml 형식으로 넘어오는 경우가 있음

API Documentation

API 링크

Response 출력 값

v1. 지정한 구의 최근 1000개 강우량 데이터를 기준, 관련 최근 1000개 하수관로 수위 데이터 결합

YMD : 강우량 측정 시각, 10분우량
(ex: 202207011629 일때, 2022년 7월 1일 16시 20분 ~ 2022년 7월 1일 16시 29분까지의 강우량)
drainpipe : 해당 시각 10분 동안의 하수관로 수위 데이터 배열
drainpipe[n].YMD : 하수관로 수위 측정 시각
drainpipe[n].MEA_WALs : 하수관로 수위 배열
drainpipe[n].SIG_STAs : 통신상태 배열

하수관로 고유번호인 IDN(ex: 01-0001, 01-0002, 01-0003, ...)의 뒷 4자리가 MEA_WALs, SIG_STAs 의 인덱스가 된다.
(ex: 01-0001의 수위 -> MEA_WALs[0], 01-0005의 통신상태 SIG_STAs[4])

{
  "list_total_count": 501,
  "RESULT": {
    "CODE": "INFO-000",
    "MESSAGE": "정상 처리되었습니다"
  },
  "row": [
    {
      "GUBN": "01",
      "GUBN_NAM": "종로",
      "GU_CODE": 110,
      "GU_NAME": "종로구",
      "YMD": "202207011629",
      "rainfall": [
        {
          "RAINGAUGE_CODE": 1002,
          "RAINGAUGE_NAME": "부암동",
          "RAINFALL10": "0"
        },
        {
          "RAINGAUGE_CODE": 1001,
          "RAINGAUGE_NAME": "종로구청",
          "RAINFALL10": "0"
        }
      ],
      "drainpipe": [
        {
          "YMD": "202207011629",
          "MEA_WALs": [0.14, 0, 0.13, 0.16],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011628",
          "MEA_WALs": [0.14, 0, 0.13, 0.17],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011627",
          "MEA_WALs": [0.14, 0, 0.13, 0.16],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011626",
          "MEA_WALs": [0.14, 0, 0.14, 0.17],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011625",
          "MEA_WALs": [0.14, 0, 0.14, 0.16],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011624",
          "MEA_WALs": [0.14, 0, 0.14, 0.16],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011623",
          "MEA_WALs": [0.14, 0, 0.13, 0.17],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011622",
          "MEA_WALs": [0.14, 0, 0.14, 0.17],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011621",
          "MEA_WALs": [0.14, 0, 0.14, 0.17],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        },
        {
          "YMD": "202207011620",
          "MEA_WALs": [0.14, 0, 0.13, 0.17],
          "SIG_STAs": ["통신양호", "통신양호", "통신양호", "통신양호"]
        }
      ]
    }
  ]
}

01-c-labq's People

Contributors

scvgood287 avatar whoamixzerone avatar cheimbus avatar xxxzerone avatar nicesiu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.