Skip to content

Repository files navigation

Proov

프로젝트 설명

Proov는 공개 GitHub PR URL을 입력하면 AI가 PR diff를 분석해 코드 이해도 문제를 생성하는 개발 학습 플랫폼입니다. 사용자는 PR에서 생성된 객관식 문제를 한 문항씩 풀고 정답, 짧은 해설, 관련 파일명을 확인할 수 있습니다.

MVP Lite에서는 비로그인 상태로 공개 문제를 풀이할 수 있으며, PR URL 기반 문제 생성과 풀이 기록 저장/조회는 로그인 사용자에게 제공합니다.

기술스택

  • Next.js App Router
  • TypeScript
  • Tailwind CSS
  • Supabase Auth / PostgreSQL
  • OpenAI API
  • GitHub REST API
  • Zod
  • Vercel

디렉터리 설명

  • .docs: 서비스 개요, 기능 명세, AI 정책, DB/API 설계, 로드맵, 디자인 지침 문서
  • .codex: 프로젝트 작업에 사용하는 Codex 로컬 설정과 스킬
  • src/app: Next.js App Router 기반 페이지, 레이아웃, 전역 스타일
  • src/app/auth: 로그인, 회원가입 화면과 인증 관련 컴포넌트
  • src/app/practice: PR URL 입력과 문제 풀이 흐름 화면
  • 루트 설정 파일: Next.js, TypeScript, ESLint, Tailwind/PostCSS 설정과 패키지 관리 파일

백엔드 설정

  1. Supabase Dashboard → SQL Editor에서 supabase/schema.sql 전체를 실행합니다.
    profiles, problem_sets, questions, submissions, submission_answers 테이블이 생겨야 풀이 기록 저장·조회가 동작합니다.
  2. 테이블을 비우고 다시 올리려면 supabase/reset.sql 실행 후 schema.sql을 실행합니다.
  3. .env.local.env.example의 값을 채웁니다.
  4. schema.sql에 개발용 계정(testuser@naver.com / testuser)과 큐레이션 문제 시드가 포함되어 있습니다. curated-problem-sets.ts를 수정했다면 npm run db:generate-seed로 큐레이션 시드 구간을 다시 생성한 뒤 SQL Editor에서 재실행하세요.
  5. OpenAI 모델명은 기본 gpt-5.4이며, 필요하면 OPENAI_MODEL로 재정의할 수 있습니다.

About

실제 GitHub PR 기반의 코드 변경사항 이해 문제를 풀며 기록을 쌓아가는 AI 기반 학습 플랫폼

Resources

Stars

Watchers

Forks

Contributors

Languages