꼬리에 꼬리를 무는 면접 질문 - AI 기반 모의 면접 시스템
꼬꼬면은 개발자를 위한 AI 기반 모의 면접 플랫폼입니다. 실제 면접과 유사한 환경에서 꼬리질문을 통해 심화 학습할 수 있으며, 음성 및 텍스트 모드를 지원합니다.
- 루트 질문: 카테고리별 기본 면접 질문 (알고리즘, 데이터베이스, 자료구조, 네트워크, 운영체제)
- 꼬리 질문: OpenAI GPT를 활용한 답변 기반 후속 질문 자동 생성
- 실시간 피드백: 답변에 대한 즉시 평가 및 개선점 제시
- 텍스트 모드: 키보드로 답변 입력
- 음성 모드: Supertone TTS를 활용한 음성 질문 및 답변
- 답변 분석: AI 기반 답변 품질 평가 및 점수화
- 사용자 랭킹: 면접 성과 기반 순위 시스템
- 학습 기록: 개인별 면접 히스토리 및 성장 추적
- 답변 공유: 우수 답변 커뮤니티 공유
- 좋아요 시스템: 답변에 대한 피어 평가
- 댓글 시스템: 답변별 피드백 및 토론
kokomen-backend/
├── src/main/java/ # 메인 소스 코드
├── src/test/java/ # 테스트 코드
├── src/docs/ # API 문서 (Spring REST Docs)
├── docker/ # Docker 배포 설정 (dev, prod, load-test)
└── build.gradle # 빌드 설정
- Backend: Spring Boot 3.x, Java 17
- Database: MySQL 8.0 (Primary), Redis (Session & Cache)
- AI Integration: OpenAI GPT-4, AWS Bedrock
- TTS: Supertone Text-to-Speech
- Authentication: Kakao/Google OAuth 2.0
- File Storage: AWS S3
- Containerization: Docker & Docker Compose
- OpenAI GPT: 질문 생성 및 답변 분석
- AWS Bedrock: 대안 LLM 서비스
- Supertone: 고품질 음성 합성
- Kakao/Google OAuth: 소셜 로그인
- AWS S3: 음성 파일 저장
- Interview: 면접 세션 정보
- RootQuestion: 카테고리별 기본 질문
- Question: AI 생성 후속 질문
- Answer: 사용자 답변 및 평가
- Member: 사용자 계정 및 프로필
- MemberService: 사용자 랭킹 및 토큰 관리
- AnswerLike: 답변 좋아요 시스템
- AnswerMemo: 답변별 메모 및 댓글
- Java 17+
- Docker & Docker Compose
- MySQL 8.0+
- Redis 6.0+
- 저장소 클론
git clone https://github.com/your-org/kokomen-backend.git
cd kokomen-backend- 환경 변수 설정
# 필수 환경변수
export OPEN_AI_API_KEY=your_openai_api_key
export KAKAO_CLIENT_ID=your_kakao_client_id
export KAKAO_CLIENT_SECRET=your_kakao_client_secret
export SUPERTONE_API_TOKEN=your_supertone_token- 의존성 서비스 실행
docker compose -f test.yml up -d- 애플리케이션 빌드 및 실행
# 전체 빌드
./gradlew clean build
# 서버 실행
./gradlew bootRun- API 서버: http://localhost:8080
- Health Check: http://localhost:8081/actuator/health
- API 문서: http://localhost:8080/docs/index.html
# 전체 테스트
./gradlew test- Flyway를 통한 자동 마이그레이션
- 마이그레이션 파일:
src/main/resources/db/migration/
- local: 로컬 개발 환경
- dev: 개발 서버 환경
- prod: 운영 서버 환경
- load-test: 부하 테스트 환경
- Spring Boot Actuator: 애플리케이션 헬스체크
- Prometheus: 메트릭 수집 (설정 가능)
- Custom Metrics: 면접 진행률, API 응답시간 등
- Structured Logging: JSON 형태 로그 출력
- MDC: 요청별 추적 정보
- External Service Monitoring: AI API 응답시간 추적
- Kakao/Google OAuth 2.0 기반 소셜 로그인
- Session 기반 인증 (Redis 저장)
- CORS 정책 적용
- 개인정보 최소 수집 원칙
- API 키 환경변수 관리
- 민감 정보 로그 제외
main: 운영 배포 브랜치develop: 개발 통합 브랜치feature/*: 기능 개발 브랜치
feat: 새로운 기능 추가
fix: 버그 수정
refactor: 코드 리팩토링
test: 테스트 추가/수정
docs: 문서 수정