AI 기반 알고리즘 학습 플랫폼 - 문제 풀이부터 AI 코드 리뷰까지
CodeBrainer는 알고리즘 문제 풀이, 실시간 채점, AI 코드 리뷰 및 힌트 제공 기능을 갖춘 통합 학습 플랫폼입니다.
🔗 Live Demo: code-brainer.vercel.app
- 실시간 코드 에디터 (Monaco Editor) - Python, Java, C++, JavaScript 등 다양한 언어 지원
- 즉시 채점 - Judge0 엔진 기반 빠르고 정확한 코드 실행
- 상세한 피드백 - 테스트 케이스별 결과, 실행 시간, 메모리 사용량
- AI 코드 리뷰 (Gemini API) - 정답 제출 시 코드 품질 분석 및 개선점 제안
- AI 힌트 - 오답 시 정답 코드 없이 방향성만 제시하는 맞춤형 힌트
- 출제 의도 분석 - 문제가 요구하는 알고리즘 카테고리 준수 여부 검증
- 마이페이지 - 제출 이력, 해결 문제, 추천 알고리즘 통계
- 모의고사 - 난이도별 시간 제한 문제 세트
- 진행 상황 추적 - 문제별 정답률, 언어별 제출 통계
- Next.js 15 - React 프레임워크, App Router
- TypeScript - 타입 안정성
- Tailwind CSS - 유틸리티 기반 스타일링
- Monaco Editor - VS Code 기반 코드 에디터
- React Query - 서버 상태 관리
- Spring Boot 3.2 - Java 백엔드 프레임워크
- Spring Data JPA - ORM, Hibernate
- PostgreSQL - 관계형 데이터베이스
- Supabase Storage - 문제 파일 및 테스트 케이스 저장
- Judge0 (MIT License) - 코드 실행 및 채점 엔진
- Google Gemini API - AI 코드 리뷰 및 힌트 생성
- Vercel - Frontend 호스팅
- Railway - Backend 호스팅 (Spring Boot + PostgreSQL)
CodeBrainer는 이미 배포되어 있습니다! 설치 없이 바로 사용하세요.
🔗 Live Demo: code-brainer.vercel.app
- 링크 접속
- 회원가입 / 로그인
- 문제 선택 및 코드 작성
- AI 보조모드 ON → AI 힌트 및 코드 리뷰 활용
- Node.js 18+
- Java 21+
- Docker & Docker Compose (Judge0 채점 엔진)
- PostgreSQL 13+
git clone https://github.com/toranan/CodeBrainer.git
cd CodeBrainerFrontend (.env.local)
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
# Backend URLs (로컬 개발)
NEXT_PUBLIC_AUTH_BACKEND_URL=http://localhost:8081
NEXT_PUBLIC_ORCHESTRATOR_URL=http://localhost:8080Backend Orchestrator (backend/orchestrator/src/main/resources/application.yml)
spring:
datasource:
url: jdbc:postgresql://localhost:5432/codebrainer
username: postgres
password: YOUR_PASSWORD
gemini:
api-key: ${GEMINI_API_KEY}
supabase:
url: ${SUPABASE_URL}
key: ${SUPABASE_SERVICE_ROLE_KEY}cd backend
docker-compose -f docker-compose.judge0-linux.yml up -dOption A: Maven (Orchestrator - 추천)
cd backend/orchestrator
./mvnw spring-boot:runOption B: Gradle (Auth Backend)
cd backend/src
./gradlew bootRunNote: 로컬 개발 시 Orchestrator(포트 8080)만 실행해도 대부분의 기능을 사용할 수 있습니다.
npm install
npm run dev✅ http://localhost:3000에서 접속 가능
CodeBrainer/
├── src/ # Next.js Frontend
│ ├── app/
│ │ ├── problems/ # 문제 목록 및 상세
│ │ ├── me/ # 마이페이지
│ │ └── api/ # Next.js API Routes
│ └── components/
│ ├── problem/ # 코드 에디터, 제출 결과
│ └── layout/ # 헤더, 푸터
├── backend/
│ ├── src/ # Auth Backend (Spring Boot)
│ └── orchestrator/ # Orchestrator - 채점 및 AI 서비스
│ ├── judge0/ # Judge0 클라이언트
│ ├── service/
│ │ ├── JudgeService # 코드 채점
│ │ └── GeminiAIService # AI 리뷰/힌트
│ └── storage/ # Supabase Storage 연동
└── docker-compose.judge0.yml # Judge0 설정
- ✅ 환경 변수 관리 - API 키 및 민감 정보는 환경 변수로 관리
- ✅ 비밀번호 암호화 - BCrypt 해싱
- ✅ ORM 사용 - SQL Injection 방지
- ✅ CORS 설정 - 허용된 도메인만 접근 가능
이 프로젝트는 다음 오픈소스 프로젝트를 사용합니다:
- Judge0 - MIT License
- 코드 실행 및 채점 엔진
- Google Gemini API - AI 코드 분석 및 힌트 생성
- Supabase - PostgreSQL 데이터베이스 및 Storage
MIT License - 자유롭게 사용, 수정, 배포 가능합니다.
- GitHub Issues: 버그 리포트 및 기능 제안
- Pull Requests: 기여 환영합니다!
Made with ❤️ by CodeBrainer Team