급식 하나를 보려고 학교 홈페이지에
매번 들어가야 했습니다.
지금 geupsik.kr은 학교 이름만 검색하면 급식표와 시간표, 같은 학교 커뮤니티를 바로 보여 주는 서비스입니다. 처음부터 이런 모습은 아니었고, 3년에 걸쳐 지금에 이르렀습니다.
지금 할 수 있는 것
급식표
전국 초·중·고 급식표를 학교 이름 검색만으로 확인할 수 있습니다. 나이스(NEIS)에 학교가 등록한 자료를 그대로 가져오므로 메뉴를 임의로 편집하지 않으며, 학교가 갱신하면 다음 주기에 자동으로 반영됩니다. 반찬마다 알레르기 유발 성분 번호가 함께 표시됩니다.
급식 리뷰
공시 자료에는 맛이나 양 같은 정보가 없습니다. 그 빈틈은 같은 학교 학생들이 남기는 별점과 한 줄 리뷰로 채웁니다. 메뉴별 평균 평점과 리뷰 수가 급식표에 표시되며, 이 리뷰는 전국 학교를 비교하는 급식 랭킹의 기준이 됩니다.
시간표
학교와 학년, 반을 설정하면 이번 주 시간표를 확인할 수 있습니다. 급식표와 같은 나이스 연동 방식이라 따로 관리할 필요가 없고, 점심시간 자리에는 그날의 급식 메뉴가 함께 표시됩니다. 진행 중인 교시는 자동으로 강조됩니다.
커뮤니티(토로)
학교별로 독립된 게시판이 있어 자기 학교 게시판에는 재학생 중심의 글이 쌓입니다. 급식과 학교 생활, 시험 정보까지 자유롭게 쓰고 댓글로 대화할 수 있으며, 신고된 글과 댓글은 운영진이 직접 확인해 처리합니다.
학교 위키
교복과 매점, 시설, 통학로처럼 나이스에는 없지만 다니는 사람만 아는 정보를 재학생이 직접 채우는 공간입니다. 선생님 정보를 정리하는 위키도 따로 있으며, 학교 페이지에서 급식·시간표와 함께 확인할 수 있습니다.
AI 예측
학교가 아직 급식표를 등록하지 않은 날에는 그 학교의 과거 급식 패턴을 학습한 모델이 메뉴를 예측해 보여 줍니다. 실제 등록 정보가 아니라는 점을 항상 표시하며, 학교가 정식으로 등록하면 즉시 실제 정보로 교체됩니다.
어떻게 지금 모습이 됐는지
급식표 하나를 만드는 데도 오래 걸렸습니다
처음에는 학교 홈페이지를 그대로 가져오는 크롤러를 만들려 했습니다. 학교마다 급식 페이지 주소를 하나씩 찾아 학교 이름과 함께 저장하는 작업부터 시작했습니다.
그러나 학교 홈페이지는 교육청마다, 같은 교육청 안에서도 학교마다 구조가 달랐습니다. 크롤러 하나로 모든 학교에 대응하기는 사실상 불가능했습니다.
그러던 중 나이스(NEIS) 공공데이터를 알게 되었습니다. 학교가 나이스에 등록한 급식 정보를 표준 API로 받아오면 학교마다 따로 대응할 필요가 없었습니다. 그렇게 급식표 조회가 처음 만들어졌습니다.
학교를 저장하고 시간표를 더했습니다
매번 학교 이름을 검색하는 번거로움을 덜기 위해 학교 저장 기능을 넣었습니다. 이어서 같은 방식으로 나이스 시간표 데이터를 연동해 급식과 시간표를 한 화면에서 볼 수 있게 만들었습니다.
geupsik.kr은 지금도 계속 바뀌고 있습니다. 학교 이름을 검색했을 때 나오는 화면 하나하나가 이 과정을 거쳐 만들어졌습니다.