/CodeClimX_QuizGenerator

Quiz Generation System using Python Scripts + Firebase + gpt-4-turbo-preview

Primary LanguagePython

๐Ÿš€ CodeClimX_QuizGenerator

CodeClimX_QuizGenerator๋Š” ๋น„๋””์˜ค ๊ฐ•์˜์˜ ๋‚ด์šฉ์„ ๋ถ„์„ํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ€ด์ฆˆ๋ฅผ ์ƒ์„ฑํ•˜๋Š” Python ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. Firebase Firestore์—์„œ ๋น„๋””์˜ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , OpenAI API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋””์˜ค ๋‚ด์šฉ ๊ธฐ๋ฐ˜์˜ ํ€ด์ฆˆ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ์ƒ์„ฑ๋œ ํ€ด์ฆˆ๋ฅผ ๋‹ค์‹œ Firestore์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“š ๋ชฉ์ฐจ

๐Ÿ“ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์•„๋ž˜ ์กฐ๊ฑด๋“ค์ด ์ถฉ์กฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • Python 3.8 ์ด์ƒ ์„ค์น˜
  • Firebase ํ”„๋กœ์ ํŠธ์™€ OpenAI API ํ‚ค ์ค€๋น„

๐Ÿ’พ ์„ค์น˜ ๋ฐฉ๋ฒ•

  1. ํ”„๋กœ์ ํŠธ ํด๋ก ํ•˜๊ธฐ

    git clone https://github.com/ChoMyeongHwan/CodeClimX_QuizGenerator.git
  2. ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ธฐ

    cd CodeClimX_QuizGenerator
  3. ํ•„์š”ํ•œ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ํ•˜๊ธฐ

    pip install python-dotenv firebase-admin openai asyncio

๐Ÿ“˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. .env ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ์„ค์ •ํ•˜๊ธฐ

    .env ํŒŒ์ผ ์•ˆ์— Firebase ํ”„๋กœ์ ํŠธ์˜ ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ ๊ฒฝ๋กœ(FIREBASE_CREDENTIALS_PATH)์™€ OpenAI API ํ‚ค(OPENAI_API_KEY)๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    FIREBASE_CREDENTIALS_PATH="path/to/your/firebase-credentials.json"
    OPENAI_API_KEY="your-openai-api-key"
    
  2. Firestore ์„ค์ •ํ•˜๊ธฐ

    Firestore์— videos ์ปฌ๋ ‰์…˜์„ ์ƒ์„ฑํ•˜๊ณ , ๊ฐ ๋น„๋””์˜ค ๋ฌธ์„œ์— detail ํ•„๋“œ(๋น„๋””์˜ค ๋‚ด์šฉ ์„ค๋ช…)์™€ quiz_generated ํ•„๋“œ(ํ€ด์ฆˆ ์ƒ์„ฑ ์—ฌ๋ถ€, ์ดˆ๊ธฐ๊ฐ’ false)๋ฅผ ํฌํ•จ์‹œํ‚ต๋‹ˆ๋‹ค.

  3. ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ํ•˜์—ฌ ํ€ด์ฆˆ ์ƒ์„ฑํ•˜๊ธฐ

    python src/quiz.py

    ์Šคํฌ๋ฆฝํŠธ๋Š” ์•„์ง ํ€ด์ฆˆ๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์€ ๋ชจ๋“  ๋น„๋””์˜ค์— ๋Œ€ํ•ด ํ€ด์ฆˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ƒ์„ฑ๋œ ํ€ด์ฆˆ๋ฅผ Firestore์˜ quizzes ์ปฌ๋ ‰์…˜์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„, ๊ด€๋ จ ๋น„๋””์˜ค ๋ฌธ์„œ์˜ quiz_generated ํ•„๋“œ๋ฅผ true๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

์ด ํ”„๋กœ์ ํŠธ๋Š” ์˜คํ”ˆ ์†Œ์Šค์ด๋ฉฐ, ๋ชจ๋“  ํ˜•ํƒœ์˜ ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์—ฌ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • Pull Request ๋ณด๋‚ด๊ธฐ: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฌธ์„œ ๊ฐœ์„  ๋“ฑ์˜ ๊ธฐ์—ฌ๋ฅผ ์œ„ํ•ด PR์„ ๋ณด๋‚ด์ฃผ์„ธ์š”.
  • ์ด์Šˆ ๋“ฑ๋กํ•˜๊ธฐ: ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ œ์•ˆ์ด ์žˆ๋‹ค๋ฉด, ์ด์Šˆ๋ฅผ ๋“ฑ๋กํ•ด ์ฃผ์„ธ์š”.