NEMANIC.GitHub 새 탭
프로젝트 목록
PROJECT 02 / 성적표 기반 졸업 요건 확인 서비스

홍익대 졸업봇.

성적표를 올리고, 이수 현황과 남은 졸업 요건을 한눈에 확인하세요.

홍익대 졸업봇은 성적표 이미지와 PDF에서 과목 정보를 추출하고, 사용자가 확인·수정한 기록을 바탕으로 졸업 요건 이수 현황을 보여주는 웹 서비스입니다. 업로드부터 OCR 분석, 원본 대조, 기록 확정, 보고서 확인까지 하나의 흐름으로 연결했습니다.

  • Next.js
  • Django REST Framework
  • PaddleOCR
홍익졸업봇 로그인 전 첫 화면: 로고, 졸업봇 캐릭터, 회원가입과 로그인 버튼

프로젝트 배경

복잡한 졸업 요건과 개인의 이수 기록을 함께 확인하는 과정을 줄이기 위해 만든 서비스입니다. 성적표에서 과목 정보를 추출하고 원본과 비교해 기록을 확정한 뒤, 이수 현황과 남은 요건을 한 흐름에서 살펴볼 수 있도록 구성했습니다.

주요 기능

01

성적표 업로드

PDF·PNG·JPG 파일을 최대 5개, 합계 5MiB까지 업로드할 수 있습니다.

02

한국어 OCR와 PDF 텍스트 추출

이미지의 한국어 과목 정보를 인식하고 PDF의 텍스트를 추출해 비동기로 처리합니다.

03

원본 대조와 수정

원본 미리보기와 인식 결과를 비교하며 학수번호·과목명·학점·성적·학기를 수정할 수 있습니다.

04

기록 확정

확인한 과목과 학점 인정 선택을 저장하고 분석에 반영합니다.

05

졸업 요건 보고서

이수 현황, 부족한 수치, 추가 확인이 필요한 항목과 기준 출처를 표시합니다.

06

계정별 접근 보호

로그인한 사용자의 성적표만 조회·미리보기할 수 있도록 접근을 제한합니다.

IN THE SERVICE

실제 서비스 화면

로그인 전 공개 첫 화면

기술 구성

프런트엔드는 Cloudflare Pages에서 제공하고, API 요청은 Pages Functions와 Cloudflare Tunnel을 거쳐 Mac mini의 Django 서버로 연결됩니다. PostgreSQL에 데이터를 저장하고 Redis·Celery로 OCR 작업을 처리합니다.

Frontend
Next.js · React · TypeScript
Backend
Python · Django · Django REST Framework
Authentication
JWT
Database
PostgreSQL
Async processing
Redis · Celery
OCR
PaddleOCR · PaddlePaddle
Deployment
Cloudflare Pages · Pages Functions · Cloudflare Tunnel · Mac mini Docker
Automation
GitHub 검사와 연동한 자동 배포

현재 운영 및 개선

실제 서비스를 배포하고, 가짜 성적표를 이용해 업로드·OCR·수정·확정·보고서 흐름의 검증을 완료했습니다.

  • 학교의 공식 서비스나 공식 졸업 판정 서비스가 아닙니다. 현재 졸업 기준은 출처 검증이 필요한 초안이며, 최종 확인은 학교에 문의해야 합니다.
  • Mac mini와 Docker가 실행 중일 때 백엔드를 이용할 수 있습니다.