후쿠오카시 공공시설 예약 상황 축소

개요


후쿠오카시에서는 공공시설 예약 실태조사네트워크 서비스를 제공한다. 그러나 오래전에 설계된 서비스로 REST도 아니고 다른 서비스와 협력할 수도 없고,각 공공시설의 예약 상황을 취득하는 창고Fukuoka City Community Space Finder를 만들었다.

설치 및 샘플


npm에 등록되어 있기 때문에 npm 명령으로 설치할 수 있습니다.
$ npm install fukuoka-city-community-space-finder
Fukuoka City Community Space Finder는 4개의 함수areabuilding를 제공합니다. 최초의 3개의 함수는 공공시설 이름을 검색하기 위한 것입니다.해당 지역으로 돌아가는 공공시설 일람표institution는 지역명, 공공시설 이름을 매개 변수로 해당 시설에 포함된 임대 가능 단위의 이름, 예를 들어'회의실 1','테니스장 1'등 일람표를 되돌려준다.
참고로,area,building,institution이라는 이름은 원래 서비스에서 사용했던 이름과 일치합니다.
다음은 각 실행례입니다. 또한 커튼 처리는 비동기 처리이기 때문에 각 함수의 반환값은 status입니다. (참고: 이제 Proomise 시작
var finder = require("fukuoka-city-community-space-finder");

// 地域名の列挙.
finder.area().then(function(res){
  console.log(res);
});
// -> [ '中央区', '博多区', '東区', '西区', '南区', '城南区', '早良区' ]

// 中央区にある公共施設の列挙.
finder.building("中央区").then(function(res) {
  console.log(res);
});
// -> [ '舞鶴公園', '平和中央公園', '中央体育館', '市民会館',
//      '福岡市文学館(赤煉瓦文化館)', '健康づくりサポートセンター',
//      'NPOボランティア交流センター', '中央市民センター' ]

// 中央区舞鶴公園にある貸し出し可能な施設の列挙.
finder.institution("中央区", "舞鶴公園").then(function(res) {
  console.log(res);
});
// -> [ '野球場', 'テニスコート1', '球技場' ]
마지막 예에는'테니스장 1'이 있는데'테니스장 2'와'테니스장 3'이 없다.실제로'테니스장 2'와'테니스장 3'은 존재하며 빌릴 수 있다. 구체적으로'테니스장 1'을 선택하면'테니스장 1'과'테니스장 3'이 나온다.
함수는 번호와 숨겨진 시설 이름을 얻을 수 없지만 다음area 함수에서도 이러한 시설에 대한 정보를 얻을 수 있습니다
라이브러리에서 제공하는 네 번째 함수는 지역명, 공공시설명, 임대단위의 이름, 예약상황의 날짜를 매개 변수로 하여 지정된 날짜에서 지난 일주일의 예약상황을 되돌려줍니다.
예를 들어 중앙구 무학공원 야구장의 2016년 4월 25일 이후 예약 상황을 조사해 보자.
var finder = require("fukuoka-city-community-space-finder");

finder.status("中央区", "舞鶴公園", "野球場", 2016, 4, 25).then(
  function(res) {
    console.log(JSON.stringify(res));
  }
);
결과는 다음과 같다.
{
  "04/25(月)": {
    "600": "closed",
    "900": "available",
    "1100": "available",
    "1300": "available",
    "1500": "occupied",
    "1700": "occupied"
  },
  ...
}
6:00, 9:00 정도 기다릴게요.
아까 말한'테니스장 1'처럼 연호 시설이 있는 경우
var finder = require("fukuoka-city-community-space-finder");

finder.status("中央区", "舞鶴公園", "テニスコート1", 2016, 4, 25).then(
  function(res) {
    console.log(JSON.stringify(res));
  }
);
실행 결과는 다음과 같다.
{
  "テニスコート1": {
    "04/25(月)": {
      "06:00-19:00": "available"
    },
    ...
  },
  "テニスコート2": {
    "04/25(月)": {
      "06:00-10:00": "available",
      "10:00-12:00": "occupied",
      "12:00-19:00": "available"
    },
    ...
  },
  ...
}
또한 각 함수의 상세한 문서는 Github를 참조하십시오.

독립적으로 실행


Node.js 이외의 곳에서도 사용할 수 있도록 독립된 명령building도 준비했습니다. 전 세계 환경에 설치하려면 아래 명령을 실행하십시오. (npm 명령이 필요합니다)
$ npm install -g fukuoka-city-community-space-finder
institution 명령의 사용 방법은 다음과 같다. 각 하위 명령은 전 절의 4개 함수에 대응한다.
Usage: csf <command> [options]

Commands:
  area         List up areas.
  building     List up buildings in an area.
  institution  List up institutions in a building
  state        Search reservation status.

Options:
  --help  Show help                                                    [boolean]
이전 절의 예Promise 명령이 실행된 경우 다음과 같다.
# 地域名の列挙.
$ csf area

# 中央区にある公共施設の列挙.
$ csf building --area 中央区

# 中央区舞鶴公園にある貸し出し可能な施設の列挙.
$ csf institution --area 中央区 --building 舞鶴公園

# 中央区舞鶴公園にある野球場の2016年4月25日以降の予約状況
$ csf state --area 中央区 --building 舞鶴公園 --institution 野球場 --year 2016 --month 4 --day 25
또한state 하위 명령에서 year,month,day를 생략할 때 오늘의 날짜를 사용합니다.

좋은 웹페이지 즐겨찾기