jin-zi-xuan/kaobuddy-pwa
一个帮你临时抱佛脚的项目
📚 KaoBuddy – AI 기반 시험 대비 워크스페이스 (PWA)
무엇인가요
- 로컬에서 실행하거나 자체 배포할 수 있는 웹 앱입니다. 시험까지 며칠밖에 남지 않았을 때, 모든 학습 자료(PDF, DOCX, 스캔된 손글씨 노트, B사이트 동영상 자막 등)를 업로드하면 내장된 AI가 핵심 개념을 추출하고, 학습 카드를 생성하며, 연습 문제를 생성하고, 모의 시험을 구성하고, 심지어 "마지막 순간 플래시카드 모드"까지 제공합니다.
왜 존재하는가
- 대부분의 학습 도구는 수주 또는 수개월 동안 지식 기반을 정리할 수 있다고 가정합니다. KaoBuddy는 반대로, 시험까지 며칠밖에 남지 않았고, 혼란스러운 파일 무더기를 구조적이고 학습 가능한 계획으로 빠르게 전환할 필요가 있다는 전제를 둡니다.
핵심 기능
| 기능 | 기능 설명 |
|---|---|
| AI 기반 지식 추출 | 업로드된 PDF, DOCX, RTF, 일반 텍스트, 손글씨 노트 이미지, B사이트 동영상 자막을 분석합니다. AI는 시험과 관련된 "지식 포인트"(예: "데드락", "뱅커 알고리즘")를 식별하고, 난이도/중요도를 부여하며, 원본 문장을 기록합니다. |
| 일일 학습 계획기 | 시험일, 이용 가능한 학습 시간, 목표 점수, 식별된 약점에 따라 일별 스케줄을 생성합니다. 미완료 항목은 자동으로 다음 날로 이월됩니다. |
| 인터랙티브 학습 모듈 | 각 지식 포인트에 대해 초보자 친화적인 설명을 확인하거나, 3개 이상의 연습 문제를 생성하거나, 4~6개의 다양한 유형의 플래시카드(개념, 실수, 시험, 빠른 기억)를 생성할 수 있습니다. |
| 모의 시험 생성기 | 길이와 문제 유형을 사용자 정의할 수 있습니다. AI가 사용자의 자료에서 시험지를 생성하고, 자동 채점(객관식, 단답형)이 가능하며, 시험지를 스스로 풀어 비교할 수도 있습니다. |
| 마지막 순간 플래시카드 모드 | 지식 포인트를 핵심 개념, 기억 도우미, 일반적인 시험 출제 방식, 흔한 실수 등으로 간결한 카드로 요약하여, 마지막 날에 최적화합니다. |
| 오답노트 | 모의 시험에서 틀린 문제는 심각도별로 태그되어 나중에 다시 볼 수 있습니다. |
| 오프라인 우선 데이터 저장소 | 모든 사용자 데이터(프로젝트, 파일, 계획, 카드, 시험 결과)는 브라우저의 IndexedDB에 저장됩니다. JSON 백업/복원을 통해 기기 간 이동이 가능합니다. API 키는 localStorage에 저장되며 백업에는 포함되지 않습니다. |
| 계정 없음 / 클라우드 동기화 없음 | 개인정보 우선: 백엔드를 자체 호스팅하지 않는 한 모든 자료는 로컬에 보관됩니다. |
AI 통합
- OpenAI 호환 서비스를 지원합니다. 미리 설정된 프리셋에는 DeepSeek, Kimi(CN/국제), OpenAI GPT-5.5/mini가 포함되어 있습니다. 자체 API 키(BYOK)를 제공하거나, 초대 코드가 있다면 호스팅된 할당량을 사용할 수 있습니다.
- 두 가지 요청 모드: 텍스트 전용(시각 기능 없는 모델용)과 시각 기능 활성화(스캔된 PDF 또는 손글씨 이미지용). 백엔드는 키와 관련 콘텐츠를 모델에 전달하지만, 키는 영구 저장하지 않습니다.
시작 방법
- Windows – Releases 페이지에서 zip을 다운로드하고 압축을 해제한 후
start-kaobuddy.bat를 실행합니다. 로컬 서버(http://127.0.0.1:8000)가 시작됩니다. - macOS –
open-kaobuddy.command스크립트를 실행합니다(파이썬 3 + Node LTS 필요). 현재 서명된 바이너리는 제공되지 않습니다. - 소스에서 (모든 OS) – 파이썬 3과 Node를 설치한 후:
npm install npm run dev # FastAPI 백엔드(8000)와 Vite 개발 서버(5173) 시작 - 자체 배포 – Dockerfile, Fly.io, Railway 및
DEPLOY.md가이드가 포함되어 있습니다. 컨테이너는 FastAPI 백엔드를 실행하고 빌드된 React 앱을 제공합니다.
기술 스택
- 프론트엔드: React 19 + TypeScript, Vite 6, Framer-Motion, Phosphor 아이콘, Service Worker + Web Manifest(PWA). PDF 처리는
pdfjs-dist, 내보내기는jspdf/html2canvas. - 백엔드: FastAPI + Uvicorn(비동기, SSE 스트리밍),
httpx로 OpenAI 호환 호출. - 데이터: 브라우저 IndexedDB +
localStorage(키용). - 패키징: 멀티스테이지 Docker(node → python), GitHub Actions CI(타입 체크, pytest, 프론트엔드 테스트, 빌드 검증).
- 라이선스: MIT.
누구를 위한가
- 산재한 디지털/스캔 자료를 보유하고 있으며, 시험까지 며칠밖에 남지 않았고, 빠르게 AI 지원을 받아 정리하고 싶은 학생.
- AI 강화 문서 처리, 계획 수립, 플래시카드 생성의 PWA 예제를 원하는 개발자.
위 모든 세부 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트