DraftCode.io - 현대적인 오픈소스 코딩 문제 플랫폼 개발
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 소프트웨어 개발자 및 교육자: 코딩 테스트 환경 구축, 인터뷰 준비, CS 클럽/부트캠프 교육에 활용
- 난이도: 중급 이상 개발자(기술 스택 이해 필요)
핵심 요약
- 핵심 기능: Monaco 에디터 기반 실시간 피드백, Docker 샌드박스를 통한 안전한 코드 실행, AI 기반 문제 생성(예정)
- 기술 스택: React + Tailwind + TanStack Table(프론트엔드), Flask(Python) + PostgreSQL(백엔드), Firebase Auth(인증)
- 한계점: 현재 폐쇄형 플랫폼으로 커뮤니티 제어와 커스터마이징 기능 부족
섹션별 세부 요약
1. 플랫폼 핵심 기능
- 코드 편집기: VS Code 기반 Monaco 에디터 사용 (다중 언어 지원)
- 테스트 환경: 사용자 정의/공개 문제 기반 테스트 케이스 평가 및 점수 제공
- 안전성: Docker 샌드박스를 통한 코드 실행 (보안 강화)
- AI 기능: 문제 생성 기능 추가 예정 (AI 기반 콘텐츠 생성)
2. 기술 구현 스택
- 프론트엔드: React + Tailwind CSS + TanStack Table (테이블 라이브러리)
- 백엔드: Flask(Python) + PostgreSQL 데이터베이스
- 코드 실행: Judge0 API를 통한 Docker 기반 실행 환경
- 인증 시스템: Firebase Auth 사용 (실시간 인증 처리)
- 인프라: Vercel(프론트엔드 호스팅), Railway/EC2(백엔드 호스팅)
3. 현재 한계 및 개선 요청
- 커스터마이징 불가: 사용자 정의 문제 생성 및 학습 경로 구축 기능 부재
- 오픈소스 제한: 플랫폼이 폐쇄형으로 커뮤니티 참여 및 확장성 제한
- 사용자 피드백 요청:
- LeetCode 대체 가능성 평가
- AI 튜터 기반 단계별 문제 해결 기능 추가 요청
결론
- 실무 적용 팁: 오픈소스 플랫폼으로 확장 및 커스터마이징 기능 추가, AI 튜터 기능 통합을 통해 사용자 참여도 향상 필요
- 핵심 권장사항: Docker 기반 실행 환경과 Firebase Auth 활용을 통한 보안 강화, 사용자 맞춤형 문제 생성 기능 개발이 핵심 성공 요소