back-end
│  .gitignore
│  build.gradle
│  docker-compose-local.yml
│  Dockerfile
│  gradlew
│  gradlew.bat
│  settings.gradle
│  
├─database
│  │  Dockerfile
│  │  
│  └─config
│          mariadb.cnf
│          
├─gradle
│  └─wrapper
│          gradle-wrapper.jar
│          gradle-wrapper.properties
│          
├─logs
│      ox-article.log
│      
└─src
    ├─main
    │  ├─java
    │  │  └─org
    │  │      └─ssafy
    │  │          └─bibibig
    │  │              │  BibibigApplication.java
    │  │              │  
    │  │              ├─articles
    │  │              │  ├─api
    │  │              │  │      ArticleController.java
    │  │              │  │      
    │  │              │  ├─application
    │  │              │  │      ArticleService.java
    │  │              │  │      
    │  │              │  ├─config
    │  │              │  │      AbstractElasticsearchConfiguration.java
    │  │              │  │      ElasticsearchConfig.java
    │  │              │  │      
    │  │              │  ├─dao
    │  │              │  │      ArticleRepository.java
    │  │              │  │      ArticleRepositoryCustom.java
    │  │              │  │      ArticleRepositoryCustomImpl.java
    │  │              │  │      
    │  │              │  ├─domain
    │  │              │  │      ArticleEntity.java
    │  │              │  │      
    │  │              │  └─dto
    │  │              │      │  Article.java
    │  │              │      │  ArticleWithQuiz.java
    │  │              │      │  CategoryType.java
    │  │              │      │  KeywordTerms.java
    │  │              │      │  
    │  │              │      └─response
    │  │              │              GameResponse.java
    │  │              │              
    │  │              ├─common
    │  │              │  ├─dto
    │  │              │  │      ErrorCode.java
    │  │              │  │      Response.java
    │  │              │  │      
    │  │              │  ├─exception
    │  │              │  │      CommonException.java
    │  │              │  │      GlobalControllerAdvice.java
    │  │              │  │      
    │  │              │  └─utils
    │  │              │          MainCategory.java
    │  │              │          
    │  │              ├─config
    │  │              │      AppConfig.java
    │  │              │      SwaggerConfig.java
    │  │              │      
    │  │              ├─member
    │  │              │  ├─api
    │  │              │  │      MyController.java
    │  │              │  │      MyControllerV2.java
    │  │              │  │      SocialController.java
    │  │              │  │      
    │  │              │  ├─application
    │  │              │  │      BadgeService.java
    │  │              │  │      KakaoService.java
    │  │              │  │      ScrapService.java
    │  │              │  │      SocialService.java
    │  │              │  │      SolvedCategoryService.java
    │  │              │  │      TimeAttackRecordService.java
    │  │              │  │      
    │  │              │  ├─dao
    │  │              │  │      BadgesRepository.java
    │  │              │  │      ElasticsearchMemberRepository.java
    │  │              │  │      MemberRepository.java
    │  │              │  │      ScrapedArticesRepository.java
    │  │              │  │      SolvedCategoryRepository.java
    │  │              │  │      TimeAttackRecordRepository.java
    │  │              │  │      
    │  │              │  ├─domain
    │  │              │  │      BadgeEntity.java
    │  │              │  │      MemberEntity.java
    │  │              │  │      ScrapedArticleEntity.java
    │  │              │  │      SolvedCategoriesEntity.java
    │  │              │  │      SolvedRecordsEntity.java
    │  │              │  │      TimeAttacksEntity.java
    │  │              │  │      
    │  │              │  ├─dto
    │  │              │  │  │  Badge.java
    │  │              │  │  │  Member.java
    │  │              │  │  │  ScrapedArticles.java
    │  │              │  │  │  TimeAttack.java
    │  │              │  │  │  
    │  │              │  │  ├─request
    │  │              │  │  │      GameResultRequest.java
    │  │              │  │  │      SolvedCategoryRequest.java
    │  │              │  │  │      
    │  │              │  │  └─response
    │  │              │  │          BadgeResponse.java
    │  │              │  │          LoginResponse.java
    │  │              │  │          ScrapedArticleResponse.java
    │  │              │  │          ScrapedArticlesByMainCateResponse.java
    │  │              │  │          SolvedCategory.java
    │  │              │  │          SolvedCategoryResponse.java
    │  │              │  │          TimeAttackResponse.java
    │  │              │  │          TokenResponse.java
    │  │              │  │          UserResponse.java
    │  │              │  │          
    │  │              │  └─utils
    │  │              │          SessionInfo.java
    │  │              │          
    │  │              ├─quiz
    │  │              │  ├─dto
    │  │              │  │  │  Clue.java
    │  │              │  │  │  ClueType.java
    │  │              │  │  │  KeywordQuiz.java
    │  │              │  │  │  MultipleChoiceQuiz.java
    │  │              │  │  │  OXQuiz.java
    │  │              │  │  │  Quiz.java
    │  │              │  │  │  QuizAdditionalInfo.java
    │  │              │  │  │  QuizType.java
    │  │              │  │  │  
    │  │              │  │  ├─request
    │  │              │  │  │      Article.java
    │  │              │  │  │      MessageElement.java
    │  │              │  │  │      OXQuestion.java
    │  │              │  │  │      OXQuizRequest.java
    │  │              │  │  │      OXQuizRequestContent.java
    │  │              │  │  │      
    │  │              │  │  └─response
    │  │              │  │          OXQuizChoices.java
    │  │              │  │          OXQuizQuestion.java
    │  │              │  │          OXQuizResponse.java
    │  │              │  │          WordDefineResponse.java
    │  │              │  │          
    │  │              │  └─utils
    │  │              │          OpenAIUtils.java
    │  │              │          QuizUtils.java
    │  │              │          WordDefine.java
    │  │              │          
    │  │              └─result
    │  │                  ├─api
    │  │                  │      ResultController.java
    │  │                  │      
    │  │                  ├─application
    │  │                  │      ResultService.java
    │  │                  │      
    │  │                  ├─dao
    │  │                  │      ElasticsearchRelatedArticleRepository.java
    │  │                  │      
    │  │                  └─dto
    │  │                      │  RelatedArticle.java
    │  │                      │  
    │  │                      ├─request
    │  │                      │      RelatedArticleRequest.java
    │  │                      │      
    │  │                      └─response
    │  │                              KeywordTermsResponse.java
    │  │                              RelatedArticleResponse.java
    │  │                              
    │  └─resources
    │          application.yml
    │          logback-spring.xml
    │          
    └─test
        ├─java
        │  └─org
        │      └─ssafy
        │          └─bibibig
        │              │  BibibigApplicationTests.java
        │              │  
        │              ├─articles
        │              │  ├─api
        │              │  │      ArticleControllerTest.java
        │              │  │      
        │              │  ├─application
        │              │  │      ArticleServiceTest.java
        │              │  │      
        │              │  └─dao
        │              │          ArticleRepositoryCustomImplTest.java
        │              │          
        │              ├─member
        │              │  ├─api
        │              │  │      MyControllerTest.java
        │              │  │      
        │              │  ├─application
        │              │  │  │  ScrapServiceTest.java
        │              │  │  │  
        │              │  │  └─fixture
        │              │  │          MemberFixture.java
        │              │  │          
        │              │  └─dao
        │              │          ElasticsearchMemberRepositoryTest.java
        │              │          
        │              ├─quiz
        │              │  ├─fixture
        │              │  │      ArticleEntityFixture.java
        │              │  │      
        │              │  └─utils
        │              │          QuizUtilsTest.java
        │              │          WordDefineTest.java
        │              │          
        │              └─result
        │                  └─api
        │                          ResultControllerTest.java
        │                          
        └─resources