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