Dec 17

[교육/학습 지원] AI 기반 대학생 시간 관리 시스템

📌 프로젝트 소개

구글 캘린더, 교통 정보, 강의 자료 등을 분석하는 AI 기반 자동화 워크플로우를 통해 대학생의 복잡한 일정을 관리하고, 효율적인 시간 계획 및 학습을 돕는 서비스입니다.
Empty space, drag to resize

🧐 문제 정의

1. 일일 시간 계획표 기능: 대학생들은 수업, 과제, 동아리, 아르바이트, 시험 등 복잡한 속에서 시간 관리 및 우선순위 설정에 어려움을 겪고 있습니다. 이러한 문제를 해결하기 위해 구글 캘린더와 갤러리 사진 등을 입력하면, 과업의 우선 순위와 하루 중 여유 시간을 분석한 리포트를 자동 발송함으로써, 사용자의 효율적인 시간 관리를 돕고 생활 균형을 개선하는 시스템을 개발하고자 합니다.
2. 출발 시간 자동 계산 기능: 등교, 출근, 약속 등 특정 시간에 도착해야 할 상황은 일상 생활에서 흔한 일입니다. 하지만 사람들은 매번 준비 시간과 이동 시간을 감안하여 출발 시간을 직접 계산해야 하고, 이 과정에서 교통 상황이나 예상 시간 변동을 고려하기 어렵습니다. 그 결과 지각하거나 지나치게 일찍 도착해 시간을 낭비하는 상황이 발생합니다. 또한 매일 반복되는 계산 과정은 번거롭고 비효율적입니다. 이러한 불편함을 해소하기 위해, 사용자가 설정한 도착 시간과 이동 정보에 기반해 준비를 시작해야 할 시간을 자동으로 계산하여 알림을 보내는 시스템을 개발하고자 하였습니다.
3. 강의 자료 요약 기능: 대학생들은 아르바이트, 대외 활동 등 다양한 활동을 하느라 시간이 부족합니다. 그 와중에 공부까지 해야 하는 학생들을 위해, 등교/하교 시간이나 공강 시간에 빠르게 강의 자료를 예습 복습할 수 있도록 도와주는 기능의 필요성을 느껴, 강의 자료를 입력 받아 자동 요약하는 기능을 개발하게 되었습니다.
Empty space, drag to resize

💡 문제 해결

1. 일일 시간 계획표 기능: 일정 데이터를 수집/분석 후 처리하여 사용자에게 자동으로 우선순위 리포트를 전달하는 기능을 수행하는 워크플로우를 개발하였습니다. Schedule Trigger를 이용해 사용자가 설정한 시점에 자동으로 실행되도록 설정하였습니다. 구글 캘린더에 입력된 모든 일정에서 핵심 과제 마감일 및 시험 정보를 자동으로 수집하여, 분산된 중요한 일정을 디지털 데이터로 모았습니다. 자바스크립트 코드를 이용해 수집한 데이터를 자동으로 분석하도록 하였습니다. Upstage Solar Chat 노드를 이용해 이전 노드에서 분석한 결과를 입력 받아 가독성을 높인 맞춤 보고서를 생성하였습니다. 최종적으로 Discord 노드에서는 AI가 생성한 결과를 사용자에게 자동 발송하여, 사용자가 구글 캘린더를 따로 확인하지 않아도 하루 일정을 확인할 수 있도록 하였습니다.
2. 출발 시간 자동 계산 기능: n8n을 기반으로 워크플로우를 구성하여, 사용자가 입력한 출발지와 목적지 데이터를 바탕으로 교통 API에서 예상 이동 시간을 자동으로 받아오는 구조로 설계하였습니다. 이후 사용자가 설정한 개인 준비 시간을 이동 시간에 추가하여, 최종적으로 준비를 시작해야 하는 시간을 계산합니다. 계산된 시간은 Discord Webhook을 이용해 메시지 형태로 사용자에게 자동 전송됩니다. 이를 통해 사용자는 더 이상 이동 소요 시간을 직접 계산할 필요가 없으며, 필요한 시점에 정확하게 준비를 시작할 수 있습니다. 결과적으로 사용자는 지각 위험을 줄이고, 매일 반복되는 시간 계획 스트레스를 줄일 수 있습니다.
3. 강의 자료 요약 기능: 정해진 폴더에 강의 자료를 저장하기만 하면, 워크플로우에서 강의 자료 추가를 자동으로 감지 후 AI가 자동으로 PDF 파일을 개조식으로 요약합니다. 요약한 내용은 새로운 파일로 저장됩니다. 사용자는 강의 자료를 저장하기만 하면 요약 파일을 받아볼 수 있으므로, 바쁜 일정 속 짧은 여유 시간을 활용해 이미 들었던 수업을 복습하거나 앞둔 수업을 예습할 수 있습니다.
Empty space, drag to resize

⚙️ 핵심 기능

1. 일일 시간 계획표 기능: 외부 서비스인 구글 캘린더와 Upstage 노드를 연동하기 위해 인증 기능인 API를 사용하였습니다. 이는 n8n이 허가된 사용자로서 각 서비스의 데이터에 접근하고 명령을 실행할 수 있도록 돕습니다. 구글 캘린더는 클라이언트 ID와 클라이언트 보안 비밀, 콜백 URL의 요소를 가집니다. Upstage API는 Upstage 콘솔에서 API Key를 발급받습니다. 데이터 수신 및 보안 기능을 하는 Webhook은, Discord에서 이용하여 최종 리포트를 사용자에게 자동으로 전송하는 기능을 합니다.
사용자의 구글 캘린더(일정)의 오늘 일정과 마감 일정을 n8n이 수집하고, Upstage AI가 이 데이터를 분석하여 '일일 시간 계획표'를 생성한 뒤, 매일 정해진 시간에 Discord로 자동 전송하는 서비스를 구현하였습니다.
2. 출발 시간 자동 계산 기능: 출발지와 목적지를 입력 받아 이동 소요 시간을 자동으로 계산합니다. 사용자가 지정한 준비 시간을 반영하여 준비 시작 시각을 자동으로 산출합니다. Discord Webhook으로 알림을 전송합니다.
3. 강의 자료 요약 기능: Local File Trigger 노드에서 강의 자료 추가를 감지합니다. Execute Command 노드에서 PDF 파일을 base64로 인코딩하고, Function(Code in JavaScript) 노드에서 base 64 문자열을 Extract from File 노드가 인식할 수 있는 binary 형태로 반환합니다. Extract from File 노드에서 PDF 파일의 텍스트와 이미지를 추출하면, AI 모델이 강의 자료에서 추출한 내용을 요약 후 가독성을 높이는 작업을 거칩니다. Convert to File 노드에서 요약한 내용을 txt 파일로 변환한 후, Write File From Disk 노드에서 텍스트 파일을 자동으로 저장합니다.
Empty space, drag to resize

🎬 데모 영상

Write your awesome label here.
Empty space, drag to resize

👥 팀원 소개

이예람 - 팀장, 강의 자료 요약 기능 개발
최아연 - 일일 시간 계획표 기능 개발
정혜원 - 일일 시간 계획표 기능 개발
이유빈 - 출발 시간 자동 계산 기능 개발
최서영 - 출발 시간 자동 계산 기능 개발
Empty space, drag to resize

💾 참고 자료