maloTocs는 토익 스피킹 Part 2 시험을 대비하기 위한 AI 기반 트레이너 MVP(Minimum Viable Product) 프로젝트입니다.
이 프로젝트는 OpenAI의 강력한 생성형 AI 기술을 Spring Boot 백엔드에 통합하여, 실제 시험과 유사한 연습 문제를 동적으로 생성하는 것을 핵심 목표로 합니다. 사용자는 AI가 생성한 키워드와 이미지, 그리고 답변 템플릿을 통해 매번 새로운 환경에서 실전처럼 연습할 수 있습니다.
데이터는 MongoDB에 저장되며, 생성된 이미지는 AWS S3를 통해 안정적으로 관리됩니다. 본 MVP 버전은 별도의 로그인 기능 없이 로컬 환경에서 핵심 기능을 실행하는 데 중점을 두고 설계되었습니다.
AI를 통해 토익 스피킹 Part 2에 최적화된 완전한 형태의 연습 문제를 생성합니다. 이 과정은 다음과 같은 세부 단계로 이루어집니다.
-
AI 기반 키워드 생성 (Keyword Generation)
- 기술:
Spring AI (OpenAI) - 동작: Part 2 사진 묘사에 적합한 핵심 키워드(예:
두 명의 사람,야외 공원,노트북으로 작업 중)를 AI가 동적으로 생성합니다. 이를 통해 매번 다양한 주제의 문제를 만들 수 있습니다. - 데이터: 생성된 키워드는
Problem엔티티의 일부로 MongoDB에 저장됩니다.
- 기술:
-
AI 이미지 생성 및 클라우드 저장 (Image Generation & Storage)
- 기술:
OpenAI DALL-E,AWS S3 - 동작: 앞에서 생성된 키워드를 프롬프트로 사용하여 DALL-E가 고유한 이미지를 생성합니다. 생성된 이미지는 즉시 AWS S3 버킷에 업로드되어 영구적으로 저장됩니다.
- 데이터: S3에 저장된 이미지의 고유 키(Key)와 URL이 MongoDB에 기록됩니다.
- 기술:
-
AI 답변 템플릿 완성 (Template Completion)
- 기술:
Spring AI (OpenAI) - 동작: "This picture was taken
[___].", "What I notice first is[___]." 와 같이 미리 정의된 답변 템플릿의 빈칸을 AI가 생성된 이미지를 분석하여 자연스러운 문장으로 채워 넣습니다. - 데이터: 완성된 답변 가이드라인은 사용자가 참고할 수 있도록 MongoDB에 함께 저장됩니다.
- 기술:
- 음성 녹음 및 STT(Speech-to-Text): 사용자의 답변 음성을 녹음하여 OpenAI Whisper API를 통해 텍스트로 변환합니다.
- AI 기반 피드백 및 채점: 변환된 텍스트를 기반으로 AI가 발음, 문법, 유창성을 분석하여 구체적인 피드백과 예상 점수를 제공하는 기능을 구현할 예정입니다.
| 구분 | 기술 | 버전 |
|---|---|---|
| Framework | Spring Boot | 3.5.6 |
| Language | Java | 21 |
| Build Tool | Gradle | |
| AI | Spring AI (OpenAI) | 1.0.0-M6 |
| Database | MongoDB | |
| Session Store | Spring Session Data MongoDB | |
| Cloud Storage | AWS SDK for Java v2 (S3) | 2.25.40 |
프로젝트를 실행하기 위해 아래의 환경이 사전에 구성되어야 합니다.
- Java 21
- Gradle
- MongoDB (로컬 또는 원격 서버)
- OpenAI API Key
- AWS S3 Bucket 및 IAM 자격 증명 (Access Key, Secret Key)