유니터뷰
🕒 읽는 데 0분 예상forest_articles
forest_날짜
forest_분류
문서
개발 동기
고등학교 때 대학 입시 과정에서, 면접을 준비하는 학생들이 생활기록부(이하 '생기부')를 일일이 분석하고 예상 질문을 만드는 데 어려움을 겪고 있음을 인식했습니다. AI 기술로 이를 해결하여 본인을 포함해 대입 면접을 준비하는 학생들이 조금이나마 도움을 받을 수 있는 서비스를 제공하고자 하였습니다.
주요 기능
- 생기부 PDF 파일을 업로드하면, 이를 자동으로 분석하여 대입 면접 예상 질문과 생기부 내용 요약을 생성합니다.

- 예상 질문에 대해 답변을 작성해보고, 이를 PDF로 출력할 수 있는 기능을 제공합니다.

- AI 기능을 활용한 '챗터뷰' 기능을 제공합니다. 사용자의 답변에 따라 꼬리 질문도 혼합하여 모의 면접을 진행해볼 수 있습니다.

- 학생 정보를 관리할 수 있는 관리자 페이지를 개발하였습니다. 교사가 학생들의 면접 준비 진행 상황을 확인하고, 학생들이 작성해둔 답변을 읽고 피드백할 수 있습니다.

기술 스택
- NextJS 13
- Firebase Realtime DB: 각 과목의 생기부 항목 내에서 예상 질문, 질문에 대한 답변, 메모 등이 하위 분류 형태로 저장되는 구조로 설계하였습니다. 이에 적합하다고 판단되는 문서 기반 데이터베이스인 Firebase를 채택하였습니다.
- jspdf: 생기부 PDF 파일을 업로드하면 이를 텍스트로 전환한 후 PDF 형식에 맞춰 과목 별 기재 내용을 파싱할 수 있도록 구현해야 했습니다. 또한 예상 질문 내역을 PDF로 변환하여 출력할 수 있도록 하기 위해 PDF 문서를 생성하는 기능도 필요했습니다. 이를 위해 jspdf라는 라이브러리를 사용하였습니다.
- Auth.js(NextAuth.js): 로그인 기능을 구현하기 위해 사용하였습니다. 카카오, 네이버 계정과의 OAuth 연동을 통해 별도 회원가입없이 빠르게 로그인할 수 있도록 했습니다.
- react-cropper: 생기부 수동 입력 모드에서 사진을 찍은 후 필요한 부분만 웹페이지 내에서 자를 수 있도록 하기 위해 사용하였습니다.
- Google OCR API: 생기부 수동 입력 모드에서 텍스트를 자동으로 추출하여 직접 타이핑하지 않고도 입력할 수 있도록 하였습니다.
- OpenAI GPT-3.5: 생기부 요약 및 예상 질문 생성, 답변에 대한 피드백 생성 등을 위해 LLM 모델을 사용하였습니다.