├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── ci.yml │ ├── develop.yml │ └── production.yml ├── .gitignore ├── DockerFile-dev ├── Dockerfile ├── Dockerrun.aws.dev.json ├── Dockerrun.aws.json ├── README.md ├── auth ├── build.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── sparcs │ │ │ └── teamf │ │ │ ├── config │ │ │ ├── JwtConfig.java │ │ │ └── SecurityConfig.java │ │ │ ├── dto │ │ │ ├── EffectiveMember.java │ │ │ ├── FreeTokenDto.java │ │ │ ├── MemberProfileResponse.java │ │ │ ├── OneTimeTokenResponse.java │ │ │ └── TokenResponse.java │ │ │ ├── email │ │ │ ├── AuthEmailSender.java │ │ │ └── EmailKeyBuilder.java │ │ │ ├── event │ │ │ └── MemberRegisteredEvent.java │ │ │ ├── exception │ │ │ ├── DuplicateEmailException.java │ │ │ ├── EmailRequestRequiredException.java │ │ │ ├── EmailSendLimitExceededException.java │ │ │ ├── EmailVerificationNotFoundException.java │ │ │ ├── MemberNotFoundException.java │ │ │ ├── PasswordMismatchException.java │ │ │ ├── RefreshTokenValidationException.java │ │ │ ├── UnverifiedEmailException.java │ │ │ └── VerificationCodeMismatchException.java │ │ │ ├── jwt │ │ │ ├── JwtAccessDeniedHandler.java │ │ │ ├── JwtAuthenticationEntryPoint.java │ │ │ ├── JwtFilter.java │ │ │ ├── TokenProvider.java │ │ │ └── TokenUtil.java │ │ │ ├── nickname │ │ │ └── NicknameGenerator.java │ │ │ ├── oauth2 │ │ │ ├── EffectiveProfile.java │ │ │ ├── Oauth2Client.java │ │ │ ├── OauthRequester.java │ │ │ ├── ProviderProfile.java │ │ │ ├── ProviderToken.java │ │ │ ├── RestTemplateOauthRequester.java │ │ │ └── kakao │ │ │ │ ├── KakaoOauth2Client.java │ │ │ │ ├── KakaoProviderToken.java │ │ │ │ └── KakaoTokenResponse.java │ │ │ └── service │ │ │ ├── AuthService.java │ │ │ ├── EmailAuthService.java │ │ │ ├── MemberService.java │ │ │ ├── Oauth2Service.java │ │ │ └── SignupService.java │ └── resources │ │ ├── auth-dev.yml │ │ └── auth.yml │ └── test │ ├── java │ └── com │ │ └── sparcs │ │ └── teamf │ │ ├── jwt │ │ └── TokenUtilTest.java │ │ ├── oauth2 │ │ ├── KakaoOauth2ClientTest.java │ │ ├── Oauth2ClientFixture.java │ │ ├── Oauth2ClientTest.java │ │ └── RestTemplateOauthRequesterTest.java │ │ └── service │ │ └── Oauth2ServiceTest.java │ └── resources │ └── auth.yml ├── common ├── build.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── sparcs │ │ │ └── teamf │ │ │ ├── config │ │ │ └── JasyptConfig.java │ │ │ ├── dto │ │ │ └── ErrorResponseDto.java │ │ │ └── repeat │ │ │ └── Repeat.java │ └── resources │ │ └── config.yml │ └── test │ └── resources │ └── config.yml ├── domain-rds ├── build.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── sparcs │ │ │ └── teamf │ │ │ ├── BaseEntity.java │ │ │ ├── config │ │ │ ├── JpaConfig.java │ │ │ └── QuerydslConfig.java │ │ │ ├── maincategory │ │ │ ├── MainCategory.java │ │ │ └── MainCategoryRepository.java │ │ │ ├── member │ │ │ ├── Member.java │ │ │ ├── MemberRepository.java │ │ │ └── ProviderType.java │ │ │ ├── midcategory │ │ │ ├── MidCategory.java │ │ │ └── MidCategoryRepository.java │ │ │ ├── page │ │ │ ├── MemberAnswer.java │ │ │ ├── MemberAnswerRepository.java │ │ │ ├── Page.java │ │ │ ├── PageQuestion.java │ │ │ ├── PageQuestionRepository.java │ │ │ └── PageRepository.java │ │ │ └── question │ │ │ ├── Question.java │ │ │ └── QuestionRepository.java │ └── resources │ │ ├── db │ │ └── migration │ │ │ ├── V1_init.sql │ │ │ ├── V2__add_oauth_provider.sql │ │ │ ├── V3__add_oauth_provider_and_id.sql │ │ │ └── V4__alter_password_nullable.sql │ │ ├── rds-prod.yml │ │ └── rds.yml │ └── test │ ├── java │ └── com │ │ └── sparcs │ │ └── teamf │ │ └── member │ │ └── MemberTest.java │ └── resources │ └── rds.yml ├── domain-redis ├── build.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── sparcs │ │ │ └── teamf │ │ │ ├── access │ │ │ ├── AccessToken.java │ │ │ └── AccessTokenRepository.java │ │ │ ├── config │ │ │ └── RedisRepositoryConfig.java │ │ │ ├── email │ │ │ ├── EmailAuthentication.java │ │ │ ├── EmailAuthenticationRepository.java │ │ │ └── Event.java │ │ │ └── refresh │ │ │ ├── UserToken.java │ │ │ └── UserTokenRepository.java │ └── resources │ │ ├── redis-dev.yml │ │ ├── redis-local.yml │ │ └── redis-prod.yml │ └── test │ └── resources │ └── redis.yml ├── domain ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── sparcs │ └── teamf │ ├── answer │ ├── dto │ │ ├── AnswerResponse.java │ │ └── SaveMemberAnswerRequest.java │ ├── exception │ │ ├── AnswerNotFoundException.java │ │ ├── PageQuestionNotFoundException.java │ │ └── QuestionNotFoundException.java │ └── service │ │ ├── AnswerService.java │ │ └── PageAnswerService.java │ ├── gpt │ └── Gpt.java │ ├── maincategory │ ├── MainCategoryService.java │ ├── dto │ │ ├── MainCategoriesResponse.java │ │ └── MainCategoryResponse.java │ └── exception │ │ └── MainCategoryNotFoundException.java │ ├── midcategory │ ├── dto │ │ ├── MidCategoriesResponse.java │ │ └── MidCategoryResponse.java │ ├── exception │ │ └── MidCategoryNotFoundException.java │ └── service │ │ └── MidCategoryService.java │ └── question │ ├── dto │ ├── AddQuestionResponse.java │ ├── BasicQuestionResponse.java │ ├── PageResponse.java │ ├── QuestionResponse.java │ ├── QuestionsResponse.java │ └── TailQuestionResponse.java │ ├── exception │ ├── IllegalMidCategoryException.java │ ├── MemberNotFoundException.java │ ├── PageNotFountException.java │ ├── PageOwnerMismatchException.java │ └── PageQuestionMismatchException.java │ └── service │ ├── AddQuestionService.java │ ├── BasicQuestionService.java │ ├── GptQuestionService.java │ ├── PageQuestionService.java │ └── TailQuestionService.java ├── email ├── build.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── sparcs │ │ │ └── teamf │ │ │ ├── config │ │ │ └── MailConfig.java │ │ │ ├── exception │ │ │ └── EmailSenderException.java │ │ │ └── service │ │ │ └── ResetPasswordEmailService.java │ └── resources │ │ └── email.yml │ └── test │ └── resources │ └── email.yml ├── gpt ├── build.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── sparcs │ │ │ └── teamf │ │ │ ├── GptApplication.java │ │ │ ├── config │ │ │ ├── AsyncConfig.java │ │ │ └── OpenAiConfig.java │ │ │ ├── dto │ │ │ └── GptRequest.java │ │ │ └── gpt │ │ │ ├── GptClient.java │ │ │ ├── GptPool.java │ │ │ └── GptWrapper.java │ └── resources │ │ └── gpt.yml │ └── test │ └── resources │ └── gpt.yml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── nickname ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── sparcs │ └── teamf │ ├── config │ └── RestTemplateConfig.java │ └── generator │ └── RandomNicknameGenerator.java ├── settings.gradle └── web ├── build.gradle └── src ├── main ├── java │ └── com │ │ └── sparcs │ │ └── teamf │ │ ├── TeamfApplication.java │ │ ├── api │ │ ├── answer │ │ │ ├── controller │ │ │ │ ├── AnswerController.java │ │ │ │ └── PageAnswerController.java │ │ │ └── handler │ │ │ │ └── AnswerExceptionHandler.java │ │ ├── auth │ │ │ ├── controller │ │ │ │ ├── AuthController.java │ │ │ │ └── SignupController.java │ │ │ ├── dto │ │ │ │ ├── AccessTokenResponse.java │ │ │ │ ├── AuthenticateEmailRequest.java │ │ │ │ ├── LoginRequest.java │ │ │ │ ├── Oauth2CodeRequest.java │ │ │ │ ├── ResetPasswordEmailRequest.java │ │ │ │ ├── SendEmailRequest.java │ │ │ │ └── SignupRequest.java │ │ │ └── handler │ │ │ │ └── AuthExceptionHandler.java │ │ ├── gpt │ │ │ └── controller │ │ │ │ └── GptController.java │ │ ├── maincategory │ │ │ ├── controller │ │ │ │ └── MainCategoryController.java │ │ │ └── handler │ │ │ │ └── MainCategoryExceptionHandler.java │ │ ├── member │ │ │ └── controller │ │ │ │ └── MemberController.java │ │ ├── midcategory │ │ │ ├── controller │ │ │ │ └── MidCategoryController.java │ │ │ └── handler │ │ │ │ └── MidCategoryExceptionHandler.java │ │ └── question │ │ │ ├── controller │ │ │ ├── AddQuestionController.java │ │ │ ├── BasicQuestionController.java │ │ │ ├── PageQuestionController.java │ │ │ └── TailQuestionController.java │ │ │ ├── dto │ │ │ └── AddQuestionRequest.java │ │ │ └── handler │ │ │ └── QuestionExceptionHandler.java │ │ └── error │ │ └── handler │ │ └── GlobalExceptionHandler.java └── resources │ └── application.yml └── test ├── java └── com │ └── sparcs │ └── teamf │ └── TestApplication.java └── resources └── application.yml /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @be-student @sa46lll 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/develop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/.github/workflows/develop.yml -------------------------------------------------------------------------------- /.github/workflows/production.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/.github/workflows/production.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/.gitignore -------------------------------------------------------------------------------- /DockerFile-dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/DockerFile-dev -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/Dockerfile -------------------------------------------------------------------------------- /Dockerrun.aws.dev.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/Dockerrun.aws.dev.json -------------------------------------------------------------------------------- /Dockerrun.aws.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/Dockerrun.aws.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/README.md -------------------------------------------------------------------------------- /auth/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/build.gradle -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/config/JwtConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/config/JwtConfig.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/config/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/config/SecurityConfig.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/dto/EffectiveMember.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/dto/EffectiveMember.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/dto/FreeTokenDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/dto/FreeTokenDto.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/dto/MemberProfileResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/dto/MemberProfileResponse.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/dto/OneTimeTokenResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/dto/OneTimeTokenResponse.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/dto/TokenResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/dto/TokenResponse.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/email/AuthEmailSender.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/email/AuthEmailSender.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/email/EmailKeyBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/email/EmailKeyBuilder.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/event/MemberRegisteredEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/event/MemberRegisteredEvent.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/DuplicateEmailException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/DuplicateEmailException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/EmailRequestRequiredException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/EmailRequestRequiredException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/EmailSendLimitExceededException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/EmailSendLimitExceededException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/EmailVerificationNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/EmailVerificationNotFoundException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/MemberNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/MemberNotFoundException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/PasswordMismatchException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/PasswordMismatchException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/RefreshTokenValidationException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/RefreshTokenValidationException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/UnverifiedEmailException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/UnverifiedEmailException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/exception/VerificationCodeMismatchException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/exception/VerificationCodeMismatchException.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/jwt/JwtAccessDeniedHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/jwt/JwtAccessDeniedHandler.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/jwt/JwtAuthenticationEntryPoint.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/jwt/JwtAuthenticationEntryPoint.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/jwt/JwtFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/jwt/JwtFilter.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/jwt/TokenProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/jwt/TokenProvider.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/jwt/TokenUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/jwt/TokenUtil.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/nickname/NicknameGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/nickname/NicknameGenerator.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/EffectiveProfile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/EffectiveProfile.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/Oauth2Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/Oauth2Client.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/OauthRequester.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/OauthRequester.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/ProviderProfile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/ProviderProfile.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/ProviderToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/ProviderToken.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/RestTemplateOauthRequester.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/RestTemplateOauthRequester.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/kakao/KakaoOauth2Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/kakao/KakaoOauth2Client.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/kakao/KakaoProviderToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/kakao/KakaoProviderToken.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/oauth2/kakao/KakaoTokenResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/oauth2/kakao/KakaoTokenResponse.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/service/AuthService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/service/AuthService.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/service/EmailAuthService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/service/EmailAuthService.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/service/MemberService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/service/MemberService.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/service/Oauth2Service.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/service/Oauth2Service.java -------------------------------------------------------------------------------- /auth/src/main/java/com/sparcs/teamf/service/SignupService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/java/com/sparcs/teamf/service/SignupService.java -------------------------------------------------------------------------------- /auth/src/main/resources/auth-dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/resources/auth-dev.yml -------------------------------------------------------------------------------- /auth/src/main/resources/auth.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/main/resources/auth.yml -------------------------------------------------------------------------------- /auth/src/test/java/com/sparcs/teamf/jwt/TokenUtilTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/test/java/com/sparcs/teamf/jwt/TokenUtilTest.java -------------------------------------------------------------------------------- /auth/src/test/java/com/sparcs/teamf/oauth2/KakaoOauth2ClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/test/java/com/sparcs/teamf/oauth2/KakaoOauth2ClientTest.java -------------------------------------------------------------------------------- /auth/src/test/java/com/sparcs/teamf/oauth2/Oauth2ClientFixture.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/test/java/com/sparcs/teamf/oauth2/Oauth2ClientFixture.java -------------------------------------------------------------------------------- /auth/src/test/java/com/sparcs/teamf/oauth2/Oauth2ClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/test/java/com/sparcs/teamf/oauth2/Oauth2ClientTest.java -------------------------------------------------------------------------------- /auth/src/test/java/com/sparcs/teamf/oauth2/RestTemplateOauthRequesterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/test/java/com/sparcs/teamf/oauth2/RestTemplateOauthRequesterTest.java -------------------------------------------------------------------------------- /auth/src/test/java/com/sparcs/teamf/service/Oauth2ServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/test/java/com/sparcs/teamf/service/Oauth2ServiceTest.java -------------------------------------------------------------------------------- /auth/src/test/resources/auth.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/auth/src/test/resources/auth.yml -------------------------------------------------------------------------------- /common/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/common/build.gradle -------------------------------------------------------------------------------- /common/src/main/java/com/sparcs/teamf/config/JasyptConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/common/src/main/java/com/sparcs/teamf/config/JasyptConfig.java -------------------------------------------------------------------------------- /common/src/main/java/com/sparcs/teamf/dto/ErrorResponseDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/common/src/main/java/com/sparcs/teamf/dto/ErrorResponseDto.java -------------------------------------------------------------------------------- /common/src/main/java/com/sparcs/teamf/repeat/Repeat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/common/src/main/java/com/sparcs/teamf/repeat/Repeat.java -------------------------------------------------------------------------------- /common/src/main/resources/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/common/src/main/resources/config.yml -------------------------------------------------------------------------------- /common/src/test/resources/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/common/src/test/resources/config.yml -------------------------------------------------------------------------------- /domain-rds/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/build.gradle -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/BaseEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/BaseEntity.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/config/JpaConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/config/JpaConfig.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/config/QuerydslConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/config/QuerydslConfig.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/maincategory/MainCategory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/maincategory/MainCategory.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/maincategory/MainCategoryRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/maincategory/MainCategoryRepository.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/member/Member.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/member/Member.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/member/MemberRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/member/MemberRepository.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/member/ProviderType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/member/ProviderType.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/midcategory/MidCategory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/midcategory/MidCategory.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/midcategory/MidCategoryRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/midcategory/MidCategoryRepository.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/page/MemberAnswer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/page/MemberAnswer.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/page/MemberAnswerRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/page/MemberAnswerRepository.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/page/Page.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/page/Page.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/page/PageQuestion.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/page/PageQuestion.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/page/PageQuestionRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/page/PageQuestionRepository.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/page/PageRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/page/PageRepository.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/question/Question.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/question/Question.java -------------------------------------------------------------------------------- /domain-rds/src/main/java/com/sparcs/teamf/question/QuestionRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/java/com/sparcs/teamf/question/QuestionRepository.java -------------------------------------------------------------------------------- /domain-rds/src/main/resources/db/migration/V1_init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/resources/db/migration/V1_init.sql -------------------------------------------------------------------------------- /domain-rds/src/main/resources/db/migration/V2__add_oauth_provider.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /domain-rds/src/main/resources/db/migration/V3__add_oauth_provider_and_id.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/resources/db/migration/V3__add_oauth_provider_and_id.sql -------------------------------------------------------------------------------- /domain-rds/src/main/resources/db/migration/V4__alter_password_nullable.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE member modify COLUMN password VARCHAR(255) NULL; 2 | -------------------------------------------------------------------------------- /domain-rds/src/main/resources/rds-prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/resources/rds-prod.yml -------------------------------------------------------------------------------- /domain-rds/src/main/resources/rds.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/main/resources/rds.yml -------------------------------------------------------------------------------- /domain-rds/src/test/java/com/sparcs/teamf/member/MemberTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/test/java/com/sparcs/teamf/member/MemberTest.java -------------------------------------------------------------------------------- /domain-rds/src/test/resources/rds.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-rds/src/test/resources/rds.yml -------------------------------------------------------------------------------- /domain-redis/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/build.gradle -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/access/AccessToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/access/AccessToken.java -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/access/AccessTokenRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/access/AccessTokenRepository.java -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/config/RedisRepositoryConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/config/RedisRepositoryConfig.java -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/email/EmailAuthentication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/email/EmailAuthentication.java -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/email/EmailAuthenticationRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/email/EmailAuthenticationRepository.java -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/email/Event.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/email/Event.java -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/refresh/UserToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/refresh/UserToken.java -------------------------------------------------------------------------------- /domain-redis/src/main/java/com/sparcs/teamf/refresh/UserTokenRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/java/com/sparcs/teamf/refresh/UserTokenRepository.java -------------------------------------------------------------------------------- /domain-redis/src/main/resources/redis-dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/resources/redis-dev.yml -------------------------------------------------------------------------------- /domain-redis/src/main/resources/redis-local.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/resources/redis-local.yml -------------------------------------------------------------------------------- /domain-redis/src/main/resources/redis-prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/main/resources/redis-prod.yml -------------------------------------------------------------------------------- /domain-redis/src/test/resources/redis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain-redis/src/test/resources/redis.yml -------------------------------------------------------------------------------- /domain/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/build.gradle -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/answer/dto/AnswerResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/answer/dto/AnswerResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/answer/dto/SaveMemberAnswerRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/answer/dto/SaveMemberAnswerRequest.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/answer/exception/AnswerNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/answer/exception/AnswerNotFoundException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/answer/exception/PageQuestionNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/answer/exception/PageQuestionNotFoundException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/answer/exception/QuestionNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/answer/exception/QuestionNotFoundException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/answer/service/AnswerService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/answer/service/AnswerService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/answer/service/PageAnswerService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/answer/service/PageAnswerService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/gpt/Gpt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/gpt/Gpt.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/maincategory/MainCategoryService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/maincategory/MainCategoryService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/maincategory/dto/MainCategoriesResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/maincategory/dto/MainCategoriesResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/maincategory/dto/MainCategoryResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/maincategory/dto/MainCategoryResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/maincategory/exception/MainCategoryNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/maincategory/exception/MainCategoryNotFoundException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/midcategory/dto/MidCategoriesResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/midcategory/dto/MidCategoriesResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/midcategory/dto/MidCategoryResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/midcategory/dto/MidCategoryResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/midcategory/exception/MidCategoryNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/midcategory/exception/MidCategoryNotFoundException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/midcategory/service/MidCategoryService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/midcategory/service/MidCategoryService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/dto/AddQuestionResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/dto/AddQuestionResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/dto/BasicQuestionResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/dto/BasicQuestionResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/dto/PageResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/dto/PageResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/dto/QuestionResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/dto/QuestionResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/dto/QuestionsResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/dto/QuestionsResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/dto/TailQuestionResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/dto/TailQuestionResponse.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/exception/IllegalMidCategoryException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/exception/IllegalMidCategoryException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/exception/MemberNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/exception/MemberNotFoundException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/exception/PageNotFountException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/exception/PageNotFountException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/exception/PageOwnerMismatchException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/exception/PageOwnerMismatchException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/exception/PageQuestionMismatchException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/exception/PageQuestionMismatchException.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/service/AddQuestionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/service/AddQuestionService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/service/BasicQuestionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/service/BasicQuestionService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/service/GptQuestionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/service/GptQuestionService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/service/PageQuestionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/service/PageQuestionService.java -------------------------------------------------------------------------------- /domain/src/main/java/com/sparcs/teamf/question/service/TailQuestionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/domain/src/main/java/com/sparcs/teamf/question/service/TailQuestionService.java -------------------------------------------------------------------------------- /email/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/email/build.gradle -------------------------------------------------------------------------------- /email/src/main/java/com/sparcs/teamf/config/MailConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/email/src/main/java/com/sparcs/teamf/config/MailConfig.java -------------------------------------------------------------------------------- /email/src/main/java/com/sparcs/teamf/exception/EmailSenderException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/email/src/main/java/com/sparcs/teamf/exception/EmailSenderException.java -------------------------------------------------------------------------------- /email/src/main/java/com/sparcs/teamf/service/ResetPasswordEmailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/email/src/main/java/com/sparcs/teamf/service/ResetPasswordEmailService.java -------------------------------------------------------------------------------- /email/src/main/resources/email.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/email/src/main/resources/email.yml -------------------------------------------------------------------------------- /email/src/test/resources/email.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/email/src/test/resources/email.yml -------------------------------------------------------------------------------- /gpt/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/build.gradle -------------------------------------------------------------------------------- /gpt/src/main/java/com/sparcs/teamf/GptApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/java/com/sparcs/teamf/GptApplication.java -------------------------------------------------------------------------------- /gpt/src/main/java/com/sparcs/teamf/config/AsyncConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/java/com/sparcs/teamf/config/AsyncConfig.java -------------------------------------------------------------------------------- /gpt/src/main/java/com/sparcs/teamf/config/OpenAiConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/java/com/sparcs/teamf/config/OpenAiConfig.java -------------------------------------------------------------------------------- /gpt/src/main/java/com/sparcs/teamf/dto/GptRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/java/com/sparcs/teamf/dto/GptRequest.java -------------------------------------------------------------------------------- /gpt/src/main/java/com/sparcs/teamf/gpt/GptClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/java/com/sparcs/teamf/gpt/GptClient.java -------------------------------------------------------------------------------- /gpt/src/main/java/com/sparcs/teamf/gpt/GptPool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/java/com/sparcs/teamf/gpt/GptPool.java -------------------------------------------------------------------------------- /gpt/src/main/java/com/sparcs/teamf/gpt/GptWrapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/java/com/sparcs/teamf/gpt/GptWrapper.java -------------------------------------------------------------------------------- /gpt/src/main/resources/gpt.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/main/resources/gpt.yml -------------------------------------------------------------------------------- /gpt/src/test/resources/gpt.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gpt/src/test/resources/gpt.yml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/gradlew.bat -------------------------------------------------------------------------------- /nickname/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/nickname/build.gradle -------------------------------------------------------------------------------- /nickname/src/main/java/com/sparcs/teamf/config/RestTemplateConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/nickname/src/main/java/com/sparcs/teamf/config/RestTemplateConfig.java -------------------------------------------------------------------------------- /nickname/src/main/java/com/sparcs/teamf/generator/RandomNicknameGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/nickname/src/main/java/com/sparcs/teamf/generator/RandomNicknameGenerator.java -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/settings.gradle -------------------------------------------------------------------------------- /web/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/build.gradle -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/TeamfApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/TeamfApplication.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/answer/controller/AnswerController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/answer/controller/AnswerController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/answer/controller/PageAnswerController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/answer/controller/PageAnswerController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/answer/handler/AnswerExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/answer/handler/AnswerExceptionHandler.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/controller/AuthController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/controller/AuthController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/controller/SignupController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/controller/SignupController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/dto/AccessTokenResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/dto/AccessTokenResponse.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/dto/AuthenticateEmailRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/dto/AuthenticateEmailRequest.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/dto/LoginRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/dto/LoginRequest.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/dto/Oauth2CodeRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/dto/Oauth2CodeRequest.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/dto/ResetPasswordEmailRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/dto/ResetPasswordEmailRequest.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/dto/SendEmailRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/dto/SendEmailRequest.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/dto/SignupRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/dto/SignupRequest.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/auth/handler/AuthExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/auth/handler/AuthExceptionHandler.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/gpt/controller/GptController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/gpt/controller/GptController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/maincategory/controller/MainCategoryController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/maincategory/controller/MainCategoryController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/maincategory/handler/MainCategoryExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/maincategory/handler/MainCategoryExceptionHandler.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/member/controller/MemberController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/member/controller/MemberController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/midcategory/controller/MidCategoryController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/midcategory/controller/MidCategoryController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/midcategory/handler/MidCategoryExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/midcategory/handler/MidCategoryExceptionHandler.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/question/controller/AddQuestionController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/question/controller/AddQuestionController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/question/controller/BasicQuestionController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/question/controller/BasicQuestionController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/question/controller/PageQuestionController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/question/controller/PageQuestionController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/question/controller/TailQuestionController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/question/controller/TailQuestionController.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/question/dto/AddQuestionRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/question/dto/AddQuestionRequest.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/api/question/handler/QuestionExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/api/question/handler/QuestionExceptionHandler.java -------------------------------------------------------------------------------- /web/src/main/java/com/sparcs/teamf/error/handler/GlobalExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/java/com/sparcs/teamf/error/handler/GlobalExceptionHandler.java -------------------------------------------------------------------------------- /web/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/main/resources/application.yml -------------------------------------------------------------------------------- /web/src/test/java/com/sparcs/teamf/TestApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/test/java/com/sparcs/teamf/TestApplication.java -------------------------------------------------------------------------------- /web/src/test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/effective-tech-interview/effective-tech-interview-be/HEAD/web/src/test/resources/application.yml --------------------------------------------------------------------------------