0.5.1 • Published 3 years ago

neis v0.5.1

Weekly downloads
12
License
MIT
Repository
github
Last release
3 years ago

NEIS API

npm version npm npm

  • 학교 정보, 학교 검색, 급식 조회, 학사 일정 조회 API를 제공합니다.

contact

How to use?

설치

npm install neis
Required
node >= 12.0

Private Field를 사용하므로 12.0 이후의 Node.js 버전을 요구합니다.

예제 코드

const neis = require("neis");
neis.createSchool(neis.REGION.BUSAN, "C100000394", neis.TYPE.HIGH).getMeal(2019, 8).then(meal => {
    //write your code...
});

or...

const neis = require("neis");
let meal = await neis.createSchool(neis.REGION.BUSAN, "C100000394", neis.TYPE.HIGH).getMeal(2019, 8);
//write your code...

성능 및 기능 비교

More feature, more fast
Comparsionneisnode-school-kr
급식468ms517.2ms
학사일정407.8ms469.6ms
학교검색301.8ms기능 없음
세부정보426.8ms기능 없음

Bench code

  • 캐시 데이터 적용
  • 세부정보 조회, 학교 검색 API 지원
  • Promise 를 통한 비동기 지원
  • 비동기 처리를 통한 성능 향상
  • 학교 정보 JSON 형태로 저장 및 불러오기 지원

Sample

급식 예제 소스 학사일정 예제 소스 세부정보 조회 예제 소스 검색 예제 소스


School Class

School

School 생성자
edu교육청 코드 (RegionLists)
code학교 코드 (예시: "C100000394")
kind학교 유형 (SchoolType)

학교 세부정보 조회, 급식 조회에 필요한 최소한의 학교 정보

SchoolSearched

SchoolSearched 생성자
edu지역 이름 (RegionLists)
code학교 코드 (예시: "C100000394")
kind학교 유형 (SchoolType)
name학교 이름
addr학교 주소

학교 검색에서 반환되는 학교의 정보

SchoolDetail

SchoolDetail 생성자
fondYmd학교 설립일
edu지역 이름 (RegionLists)
code학교 코드 (예시: "C100000394")
kind학교 유형 (SchoolType)
name학교 이름
addr학교 주소
zipCode학교 우편번호
tellNum학교 전화번호
faxNum학교 팩스번호
homepage학교 홈페이지 주소
coeduScNm성별(남/여/남여공학)
fondScNm설립 유형 (사립, 공립)
teacherCnt선생님 수

학교 세부정보 조회에서 반환되는 학교의 정보


API

검색

급식

School.getMeal(year, month, refresh = false);

Promise<Meal[]> 이 반환됩니다.

Meal.js
Typereturn
dateDate
breakfast조식
lunch중식
dinner석식
  • 알러지 표시 제거
neis.removeAllergy("추억의 도시락(고)1.2.5.6.9.10.");
Output: 추억의 도시락(고)

학교 세부정보 조회

School.getSchoolDetail(refresh = false);

Promise<SchoolDetail> 가 반환됩니다. 예제 코드 : /tests/test_detail.js

학사 일정 조회

School.getDiary(month, year, refresh = false);

일정을 가져올 월을 입력해주세요. 2021년 2월 정보를 가져오려면, 해당 학사 일정은 2020학년도에 속하므로, 2020년으로 인자를 전달해야 합니다. Promise<Object> 가 반환됩니다.

neis

const neis = require("neis");

교육청, 지역, 유형

  • neis.URI : 교육청 URL
  • neis.REGION : 교육청 지역명 (코드)
  • neis.TYPE : 학교 유형 (유치원, 초등학교, 중학교, 고등학교)

createSchool

  • 학교 객체 생성
neis.createSchool(...params);
createSchool
...parameter아랫 문단 참고
ReturnSchool, SchoolSearched, SchoolDetail

params 는 School, SchoolSearched, SchoolDetail 의 생성자와 동일합니다. 전달된 값에 맞는 객체가 자동으로 반환됩니다.

createSchoolFromJSON

neis.createSchoolFromJSON(data);
createSchool
parameter...아랫 문단 참고
ReturnSchool, SchoolSearched, SchoolDetail

params 는 School.toJSON() 에서 반환된 데이터가 들어갑니다. 전달된 JSON 값에 맞는 객체가 자동으로 반환됩니다.

searchSchool

neis.searchSchool(searchString, edu = 'ALL', refresh = false);
neis.createSearchInstance
searchString검색할 문자
edu지역 코드(모든 교육청 : ALL)
refresh재검색 여부(기본값: false)
ReturnPromise<SchoolSearched []>

학교 목록을 받아옵니다.

Promise<SchoolSearched[]> 가 반환됩니다. 예제 코드 : /tests/test_search.js

타입

URILists

  • 각 교육청에 대한 나이스 서비스 링크를 담고 있습니다.
neis.URI
교육청 코드value지역명
SEOULsen.go.kr서울
BUSANpen.go.kr부산
DAEGUdge.go.kr대구
INCHOENice.go.kr인천
GWANGJUdje.go.kr광주
DAEJEONdje.go.kr대전
ULSANuse.go.kr울산
SEJONGsje.go.kr세종
GYEONGGIgoe.go.kr경기
GANGWONkwe.go.kr강원
CHUNGBUKcbe.go.kr충청북도(충북)
CHUNKNAMcne.go.kr충청남도(충남)
JEONBUKjbe.go.kr전라북도(전북)
JEONNAMjne.go.kr전라남도(전남)
GYEONGBUKgbe.kr경상북도(경북)
GYEONGNAMgne.go.kr경상남도(경남)
JEJUjje.go.kr제주

RegionLists

neis.REGION
교육청 코드지역명
SEOUL서울
BUSAN부산
DAEGU대구
INCHOEN인천
GWANGJU광주
DAEJEON대전
ULSAN울산
SEJONG세종
GYEONGGI경기
GANGWON강원
CHUNGBUK충청북도(충북)
CHUNKNAM충청남도(충남)
JEONBUK전라북도(전북)
JEONNAM전라남도(전남)
GYEONGBUK경상북도(경북)
GYEONGNAM경상남도(경남)
JEJU제주

SchoolType

neis.TYPE
학교 유형value
KINDERGARTEN1
ELEMENTARY2
MIDDLE3
HIGH4

TODO

  • 학교 상세정보 조회 - 나이스에서 반환하는 모든 값 제공
  • web javascript 지원
0.5.1

3 years ago

0.5.0

3 years ago

0.4.4

4 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago