졸업각
성적 화면 한 장으로 졸업요건을 대조하고 남은 학기 계획을 짜 주는 웹앱
- 상태
- 쉬는 중
- 기간
- 2026-10
- 형태
- 팀 · 5명
- 역할
- 졸업요건 데이터·로드맵 검증 규칙·학사 일정(.ics)
- 성과
- KOOKMIN AI BUILDER CHALLENGE 2026 대상
- 스택
- Node.jsExpressGeminiSQLiteDocker
- 링크
- GitHub
최근 52주 활동 · 팀 전체 위에 내 커밋을 겹쳐 표시
무엇을 하나요
졸업요건은 학과 홈페이지에, 내 이수내역은 학교 포털에, 학사일정은 또 다른 곳에 흩어져 있어서 학생이 요건표와 성적표를 나란히 놓고 손으로 대조해야 해요. 졸업각은 성적 화면 캡처나 붙여 넣은 텍스트 하나로 이 일을 대신해 주는 국민대 소프트웨어학부(2023학번) 학생용 졸업요건 진단 웹앱이에요. KOOKMIN AI BUILDER CHALLENGE 2026에 팀으로 참가해 만들었어요.
AI(Gemini)가 성적 화면을 읽어 이수내역 표로 정리하면, 코드가 졸업요건 9개 항목과 한 줄씩 대조해 부족한 부분을 원문·출처와 함께 보여 줘요. 이어서 희망 사항을 반영한 남은 학기 수강 계획, 놓치면 안 되는 학사 마감 일정(.ics), 학과에 보낼 문의 메일 초안까지 만들어 줘요.
무엇을 만들었나요
팀에서 저는 데이터와 수강 계획·일정 쪽을 맡았어요.
- 소프트웨어학부 2023학번 졸업요건, 교육과정 64과목, 학사일정을 JSON 데이터로 정리하고 출처와 해석 기준을 문서로 남겼어요. 데이터 검사 스크립트도 만들었어요
- 수강 로드맵 규칙(이미 들은 과목 제외, 학기 학점 한도, 개설 학기, 요건 충족)을 순수 함수로 먼저 구현하고 테스트 35개를 붙였어요. 이 구현은 최종 진단 엔진의 참조 구현으로 쓰였어요
- 진단 결과에 맞는 학사 일정을 캘린더 파일(.ics)로 만드는 기능과 테스트
- 가상 샘플 학생의 성적 데이터, AI 로드맵 연결 가이드(프롬프트·응답 스키마 초안), GitHub Actions 테스트
기술적으로 눈여겨볼 점
- 판정은 코드가, AI는 보조: 졸업 판정과 학점 계산은 코드가 해서 같은 입력이면 항상 같은 결과가 나와요. AI가 짠 계획은 코드가 검증하고, 어기면 위반 내용을 붙여 한 번 다시 요청하고, 그래도 안 되면 교육과정 순서로 만든 기본 계획을 써요.
- AI 계획이 학점 계산만 틀렸다면 다시 묻지 않고 코드가 일반선택 빈칸을 옮기거나 더해 맞추게 했어요. 기다리는 시간을 줄이면서도 보정한 계획은 같은 검증을 다시 통과해요.
- 과목 매칭: 선택과목 44개는 공개 자료 어디에도 학수번호가 없어서, 학수번호 앞 5자리로 먼저 찾고 없으면 띄어쓰기·로마 숫자 등을 정규화한 과목명과 옛 과목명 별칭으로 찾아요.
- .ics 파일은 규격에 맞게 긴 줄 접기와 특수문자 이스케이프를 하고, 종료일을 하루 뒤로 적어 마지막 날까지 일정에 들어가게 했어요.