├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .editorconfig ├── .envrc ├── .github ├── ISSUE_TEMPLATE │ ├── bug-report.yml │ ├── config.yml │ └── feature-request.yml ├── PULL_REQUEST_TEMPLATE.md ├── actions │ └── setup-pnpm │ │ └── action.yml └── workflows │ ├── cd-failover-ecs.yml │ ├── cd-prod-k8s.yml │ ├── cd-stage-k8s.yml │ ├── check-unused.yml │ ├── ci.yml │ ├── codeql.yml │ ├── compress-image.yml │ ├── legacy │ ├── cd-prod-frontend.yml │ ├── cd-prod-target.yml │ ├── cd-prod.yml │ ├── cd-stage.yml │ ├── rc-acm-validation.yml │ ├── rc-build-image.yml │ ├── rc-deploy-target.yml │ ├── rc-deploy.yml │ ├── rc-destroy-target.yml │ ├── rc-destroy.yml │ ├── rc-init-config.yml │ ├── rc-mask-db.yml │ ├── skku-network-proxy-deploy.yml │ └── skku-network-proxy-init-config.yml │ └── stage-reset-seed.yml ├── .gitignore ├── .gitpod.Dockerfile ├── .gitpod.yml ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── apollo.config.json ├── apps ├── backend │ ├── .dockerignore │ ├── .env.example │ ├── .mocharc.json │ ├── .nycrc │ ├── .swcrc │ ├── Dockerfile │ ├── apps │ │ ├── admin │ │ │ ├── src │ │ │ │ ├── admin.controller.spec.ts │ │ │ │ ├── admin.controller.ts │ │ │ │ ├── admin.module.ts │ │ │ │ ├── admin.service.ts │ │ │ │ ├── announcement │ │ │ │ │ ├── announcement.module.ts │ │ │ │ │ ├── announcement.resolver.ts │ │ │ │ │ ├── announcement.service.spec.ts │ │ │ │ │ ├── announcement.service.ts │ │ │ │ │ └── model │ │ │ │ │ │ ├── announcement.output.ts │ │ │ │ │ │ ├── create-announcement.input.ts │ │ │ │ │ │ └── update-announcement.input.ts │ │ │ │ ├── assignment │ │ │ │ │ ├── assignment-problem.resolver.ts │ │ │ │ │ ├── assignment-problem.service.spec.ts │ │ │ │ │ ├── assignment-problem.service.ts │ │ │ │ │ ├── assignment.module.ts │ │ │ │ │ ├── assignment.resolver.ts │ │ │ │ │ ├── assignment.service.spec.ts │ │ │ │ │ ├── assignment.service.ts │ │ │ │ │ └── model │ │ │ │ │ │ ├── assignment-problem-record-input.ts │ │ │ │ │ │ ├── assignment-problem.input.ts │ │ │ │ │ │ ├── assignment-submission-summary-for-user.model.ts │ │ │ │ │ │ ├── assignment-with-participants.model.ts │ │ │ │ │ │ ├── assignment-with-scores.model.ts │ │ │ │ │ │ ├── assignment.input.ts │ │ │ │ │ │ ├── assignments-grouped-by-status.output.ts │ │ │ │ │ │ ├── duplicated-assignment-response.output.ts │ │ │ │ │ │ ├── publicizing-request.model.ts │ │ │ │ │ │ ├── publicizing-response.output.ts │ │ │ │ │ │ └── score-summary.ts │ │ │ │ ├── check │ │ │ │ │ ├── check-pub.service.ts │ │ │ │ │ ├── check-sub.service.ts │ │ │ │ │ ├── check.module.ts │ │ │ │ │ ├── check.resolver.ts │ │ │ │ │ ├── check.service.ts │ │ │ │ │ ├── file.service.ts │ │ │ │ │ └── model │ │ │ │ │ │ ├── check-request.ts │ │ │ │ │ │ ├── check-response.dto.ts │ │ │ │ │ │ ├── check-result.dto.ts │ │ │ │ │ │ ├── check-result.output.ts │ │ │ │ │ │ └── create-check.input.ts │ │ │ │ ├── contest │ │ │ │ │ ├── contest-problem.service.ts │ │ │ │ │ ├── contest-qna.service.ts │ │ │ │ │ ├── contest.module.ts │ │ │ │ │ ├── contest.resolver.ts │ │ │ │ │ ├── contest.service.ts │ │ │ │ │ ├── model │ │ │ │ │ │ ├── contest-leaderboard.model.ts │ │ │ │ │ │ ├── contest-participants.model.ts │ │ │ │ │ │ ├── contest-qna.input.ts │ │ │ │ │ │ ├── contest-qna.model.ts │ │ │ │ │ │ ├── contest-submission-summary-for-user.model.ts │ │ │ │ │ │ ├── contest-update-histories.model.ts │ │ │ │ │ │ ├── contest-with-participants.model.ts │ │ │ │ │ │ ├── contest-with-scores.model.ts │ │ │ │ │ │ ├── contest.input.ts │ │ │ │ │ │ ├── contests-grouped-by-status.output.ts │ │ │ │ │ │ ├── problem-score.input.ts │ │ │ │ │ │ └── score-summary.ts │ │ │ │ │ └── test │ │ │ │ │ │ ├── contest-problem.service.spec.ts │ │ │ │ │ │ ├── contest-qna.service.spec.ts │ │ │ │ │ │ └── contest.service.spec.ts │ │ │ │ ├── group │ │ │ │ │ ├── group.module.ts │ │ │ │ │ ├── group.resolver.spec.ts │ │ │ │ │ ├── group.resolver.ts │ │ │ │ │ ├── group.service.spec.ts │ │ │ │ │ ├── group.service.ts │ │ │ │ │ └── model │ │ │ │ │ │ ├── course-notice.input.ts │ │ │ │ │ │ ├── group.input.ts │ │ │ │ │ │ └── group.output.ts │ │ │ │ ├── main.ts │ │ │ │ ├── notice │ │ │ │ │ ├── model │ │ │ │ │ │ └── notice.input.ts │ │ │ │ │ ├── notice.module.ts │ │ │ │ │ ├── notice.resolver.ts │ │ │ │ │ ├── notice.service.spec.ts │ │ │ │ │ └── notice.service.ts │ │ │ │ ├── notification │ │ │ │ │ ├── interface │ │ │ │ │ │ └── notification.interface.ts │ │ │ │ │ ├── notification.listener.ts │ │ │ │ │ ├── notification.module.ts │ │ │ │ │ ├── notification.processor.ts │ │ │ │ │ ├── notification.scheduler.ts │ │ │ │ │ ├── notification.service.spec.ts │ │ │ │ │ └── notification.service.ts │ │ │ │ ├── problem │ │ │ │ │ ├── controllers │ │ │ │ │ │ └── problem.controller.ts │ │ │ │ │ ├── dto │ │ │ │ │ │ └── file-upload.dto.ts │ │ │ │ │ ├── mock │ │ │ │ │ │ ├── mock.ts │ │ │ │ │ │ ├── testcaseData.xlsx │ │ │ │ │ │ └── testdata.xlsx │ │ │ │ │ ├── model │ │ │ │ │ │ ├── file.output.ts │ │ │ │ │ │ ├── problem.constants.ts │ │ │ │ │ │ ├── problem.input.ts │ │ │ │ │ │ ├── problem.output.ts │ │ │ │ │ │ ├── solution.input.ts │ │ │ │ │ │ ├── template.input.ts │ │ │ │ │ │ ├── testcase.constants.ts │ │ │ │ │ │ └── testcase.input.ts │ │ │ │ │ ├── problem.module.ts │ │ │ │ │ ├── resolvers │ │ │ │ │ │ ├── file.resolver.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── problem-tag.resolver.ts │ │ │ │ │ │ ├── problem.resolver.spec.ts │ │ │ │ │ │ ├── problem.resolver.ts │ │ │ │ │ │ └── testcase.resolver.ts │ │ │ │ │ ├── scalar │ │ │ │ │ │ └── int-score.scalar.ts │ │ │ │ │ └── services │ │ │ │ │ │ ├── file.service.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── problem.service.spec.ts │ │ │ │ │ │ ├── problem.service.ts │ │ │ │ │ │ ├── tag.service.spec.ts │ │ │ │ │ │ ├── tag.service.ts │ │ │ │ │ │ ├── testcase.service.spec.ts │ │ │ │ │ │ └── testcase.service.ts │ │ │ │ ├── submission │ │ │ │ │ ├── enum │ │ │ │ │ │ ├── language-extensions.enum.ts │ │ │ │ │ │ └── submission-order.enum.ts │ │ │ │ │ ├── model │ │ │ │ │ │ ├── assignment-problem-testcase-results.model.ts │ │ │ │ │ │ ├── assignment-submission.model.ts │ │ │ │ │ │ ├── contest-submission.model.ts │ │ │ │ │ │ ├── get-submissions.input.ts │ │ │ │ │ │ ├── rejudge-result.output.ts │ │ │ │ │ │ ├── rejudge.input.ts │ │ │ │ │ │ ├── submission-detail.output.ts │ │ │ │ │ │ ├── submission-result.model.ts │ │ │ │ │ │ └── submissions-with-total.output.ts │ │ │ │ │ ├── submission.controller.ts │ │ │ │ │ ├── submission.module.ts │ │ │ │ │ ├── submission.resolver.ts │ │ │ │ │ └── submission.service.ts │ │ │ │ ├── user │ │ │ │ │ ├── model │ │ │ │ │ │ ├── creationPermission.model.ts │ │ │ │ │ │ ├── groupMember.model.ts │ │ │ │ │ │ └── user.output.ts │ │ │ │ │ ├── user.module.ts │ │ │ │ │ ├── user.resolver.spec.ts │ │ │ │ │ ├── user.resolver.ts │ │ │ │ │ ├── user.service.spec.ts │ │ │ │ │ └── user.service.ts │ │ │ │ └── workbook │ │ │ │ │ ├── workbook-problem.resolver.ts │ │ │ │ │ ├── workbook-problem.service.spec.ts │ │ │ │ │ ├── workbook-problem.service.ts │ │ │ │ │ └── workbook.module.ts │ │ │ └── tsconfig.app.json │ │ └── client │ │ │ ├── src │ │ │ ├── announcement │ │ │ │ ├── announcement.controller.spec.ts │ │ │ │ ├── announcement.controller.ts │ │ │ │ ├── announcement.module.ts │ │ │ │ ├── announcement.service.spec.ts │ │ │ │ └── announcement.service.ts │ │ │ ├── app.controller.spec.ts │ │ │ ├── app.controller.ts │ │ │ ├── app.module.ts │ │ │ ├── app.service.ts │ │ │ ├── assignment │ │ │ │ ├── assignment.controller.spec.ts │ │ │ │ ├── assignment.controller.ts │ │ │ │ ├── assignment.module.ts │ │ │ │ ├── assignment.service.spec.ts │ │ │ │ └── assignment.service.ts │ │ │ ├── auth │ │ │ │ ├── auth.controller.spec.ts │ │ │ │ ├── auth.controller.ts │ │ │ │ ├── auth.module.ts │ │ │ │ ├── auth.service.spec.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── dto │ │ │ │ │ └── login-user.dto.ts │ │ │ │ └── interface │ │ │ │ │ └── social-user.interface.ts │ │ │ ├── contest │ │ │ │ ├── contest.controller.spec.ts │ │ │ │ ├── contest.controller.ts │ │ │ │ ├── contest.module.ts │ │ │ │ ├── contest.service.spec.ts │ │ │ │ ├── contest.service.ts │ │ │ │ └── dto │ │ │ │ │ └── contest-qna.dto.ts │ │ │ ├── email │ │ │ │ ├── email.module.ts │ │ │ │ ├── email.service.spec.ts │ │ │ │ ├── email.service.ts │ │ │ │ ├── mailerConfig.service.ts │ │ │ │ └── templates │ │ │ │ │ ├── email-auth.hbs │ │ │ │ │ └── logo.png │ │ │ ├── group │ │ │ │ ├── dto │ │ │ │ │ ├── course.dto.ts │ │ │ │ │ └── courseNotice.dto.ts │ │ │ │ ├── enum │ │ │ │ │ └── course-notice-order.enum.ts │ │ │ │ ├── group.controller.spec.ts │ │ │ │ ├── group.controller.ts │ │ │ │ ├── group.module.ts │ │ │ │ ├── group.service.spec.ts │ │ │ │ ├── group.service.ts │ │ │ │ ├── interface │ │ │ │ │ └── user-group-data.interface.ts │ │ │ │ └── mock │ │ │ │ │ └── group.mock.ts │ │ │ ├── main.ts │ │ │ ├── notice │ │ │ │ ├── notice.controller.spec.ts │ │ │ │ ├── notice.controller.ts │ │ │ │ ├── notice.module.ts │ │ │ │ ├── notice.service.spec.ts │ │ │ │ └── notice.service.ts │ │ │ ├── notification │ │ │ │ ├── dto │ │ │ │ │ └── create-push-subscription.dto.ts │ │ │ │ ├── notification.controller.spec.ts │ │ │ │ ├── notification.controller.ts │ │ │ │ ├── notification.module.ts │ │ │ │ ├── notification.service.spec.ts │ │ │ │ └── notification.service.ts │ │ │ ├── problem │ │ │ │ ├── dto │ │ │ │ │ ├── problem.response.dto.ts │ │ │ │ │ ├── problems.response.dto.ts │ │ │ │ │ ├── related-problem.response.dto.ts │ │ │ │ │ └── related-problems.response.dto.ts │ │ │ │ ├── mock │ │ │ │ │ └── problem.mock.ts │ │ │ │ ├── problem.controller.spec.ts │ │ │ │ ├── problem.controller.ts │ │ │ │ ├── problem.module.ts │ │ │ │ ├── problem.service.spec.ts │ │ │ │ └── problem.service.ts │ │ │ ├── submission │ │ │ │ ├── class │ │ │ │ │ ├── create-submission.dto.ts │ │ │ │ │ ├── judge-request.ts │ │ │ │ │ └── judger-response.dto.ts │ │ │ │ ├── mock │ │ │ │ │ ├── assignmentRecord.mock.ts │ │ │ │ │ ├── contest.mock.ts │ │ │ │ │ ├── contestProblem.mock.ts │ │ │ │ │ ├── contestRecord.mock.ts │ │ │ │ │ ├── problem.mock.ts │ │ │ │ │ ├── submission.mock.ts │ │ │ │ │ ├── submissionResult.mock.ts │ │ │ │ │ └── testcase.mock.ts │ │ │ │ ├── submission-pub.service.ts │ │ │ │ ├── submission-sub.service.ts │ │ │ │ ├── submission.controller.ts │ │ │ │ ├── submission.module.ts │ │ │ │ ├── submission.service.ts │ │ │ │ └── test │ │ │ │ │ ├── submission-pub.service.spec.ts │ │ │ │ │ ├── submission-sub.service.spec.ts │ │ │ │ │ ├── submission.controller.spec.ts │ │ │ │ │ └── submission.service.spec.ts │ │ │ ├── user │ │ │ │ ├── dto │ │ │ │ │ ├── deleteUser.dto.ts │ │ │ │ │ ├── email-auth-pin.dto.ts │ │ │ │ │ ├── newPassword.dto.ts │ │ │ │ │ ├── signup.dto.ts │ │ │ │ │ ├── social-signup.dto.ts │ │ │ │ │ ├── update-user-email.dto.ts │ │ │ │ │ ├── updateUser.dto.ts │ │ │ │ │ ├── userEmail.dto.ts │ │ │ │ │ └── username.dto.ts │ │ │ │ ├── interface │ │ │ │ │ ├── create-userprofile.interface.ts │ │ │ │ │ └── jwt.interface.ts │ │ │ │ ├── user.controller.spec.ts │ │ │ │ ├── user.controller.ts │ │ │ │ ├── user.module.ts │ │ │ │ ├── user.service.spec.ts │ │ │ │ └── user.service.ts │ │ │ └── workbook │ │ │ │ ├── workbook.controller.spec.ts │ │ │ │ ├── workbook.controller.ts │ │ │ │ ├── workbook.module.ts │ │ │ │ ├── workbook.service.spec.ts │ │ │ │ └── workbook.service.ts │ │ │ └── tsconfig.app.json │ ├── entrypoint.sh │ ├── libs │ │ ├── amqp │ │ │ ├── src │ │ │ │ ├── amqp.module.ts │ │ │ │ ├── amqp.service.ts │ │ │ │ └── index.ts │ │ │ └── tsconfig.lib.json │ │ ├── auth │ │ │ ├── src │ │ │ │ ├── authenticated-request.interface.ts │ │ │ │ ├── authenticated-user.class.ts │ │ │ │ ├── github │ │ │ │ │ └── github.strategy.ts │ │ │ │ ├── guard.decorator.ts │ │ │ │ ├── index.ts │ │ │ │ ├── jwt │ │ │ │ │ ├── jwt-auth.guard.ts │ │ │ │ │ ├── jwt-auth.module.ts │ │ │ │ │ ├── jwt-auth.service.spec.ts │ │ │ │ │ ├── jwt-auth.service.ts │ │ │ │ │ ├── jwt.interface.ts │ │ │ │ │ └── jwt.strategy.ts │ │ │ │ ├── kakao │ │ │ │ │ └── kakao.strategy.ts │ │ │ │ └── roles │ │ │ │ │ ├── admin.guard.ts │ │ │ │ │ ├── contest-roles.decorator.ts │ │ │ │ │ ├── contest-roles.guard.ts │ │ │ │ │ ├── group-leader.guard.ts │ │ │ │ │ ├── group-member.guard.ts │ │ │ │ │ ├── manager.guard.ts │ │ │ │ │ ├── roles.module.ts │ │ │ │ │ ├── roles.service.spec.ts │ │ │ │ │ └── roles.service.ts │ │ │ └── tsconfig.lib.json │ │ ├── cache │ │ │ ├── src │ │ │ │ ├── cache-config.service.spec.ts │ │ │ │ ├── cache-config.service.ts │ │ │ │ ├── index.ts │ │ │ │ └── keys.ts │ │ │ └── tsconfig.lib.json │ │ ├── constants │ │ │ ├── src │ │ │ │ ├── argon2.constants.ts │ │ │ │ ├── check.constants.ts │ │ │ │ ├── index.ts │ │ │ │ ├── oauth.constants.ts │ │ │ │ ├── rabbitmq.constants.ts │ │ │ │ ├── score-calculation.constants.ts │ │ │ │ ├── submission.constants.ts │ │ │ │ └── time.constants.ts │ │ │ └── tsconfig.lib.json │ │ ├── exception │ │ │ ├── src │ │ │ │ ├── apollo-error-formatter.ts │ │ │ │ ├── business.exception.ts │ │ │ │ ├── filter.ts │ │ │ │ ├── graphql-error-code.ts │ │ │ │ └── index.ts │ │ │ └── tsconfig.lib.json │ │ ├── instrumentation.ts │ │ ├── logger │ │ │ ├── src │ │ │ │ ├── apollo-plugin.logger.ts │ │ │ │ ├── index.ts │ │ │ │ └── pino-option.logger.ts │ │ │ └── tsconfig.lib.json │ │ ├── pipe │ │ │ ├── enum │ │ │ │ └── problem-order.enum.ts │ │ │ ├── src │ │ │ │ ├── contest-submission-order.pipe.ts │ │ │ │ ├── course-notice-order.pipe.ts │ │ │ │ ├── cursor-validation.pipe.ts │ │ │ │ ├── group-id.pipe.ts │ │ │ │ ├── id-validation.pipe.ts │ │ │ │ ├── index.ts │ │ │ │ ├── optional-parse-int.pipe.ts │ │ │ │ ├── problem-id.pipe.ts │ │ │ │ ├── problem-order.pipe.ts │ │ │ │ └── required-int.pipe.ts │ │ │ └── tsconfig.lib.json │ │ ├── prisma │ │ │ ├── src │ │ │ │ ├── index.ts │ │ │ │ ├── prisma.module.ts │ │ │ │ ├── prisma.service.spec.ts │ │ │ │ ├── prisma.service.ts │ │ │ │ └── prisma.test.service.ts │ │ │ └── tsconfig.lib.json │ │ ├── storage │ │ │ ├── src │ │ │ │ ├── content.type.ts │ │ │ │ ├── index.ts │ │ │ │ ├── s3.provider.ts │ │ │ │ ├── storage.module.ts │ │ │ │ ├── storage.service.spec.ts │ │ │ │ └── storage.service.ts │ │ │ └── tsconfig.lib.json │ │ └── types │ │ │ ├── src │ │ │ ├── group-join-request.type.ts │ │ │ └── index.ts │ │ │ └── tsconfig.lib.json │ ├── mocha-fixture.ts │ ├── nest-cli.json │ ├── package.json │ ├── prisma │ │ ├── __fixtures__ │ │ │ └── problem │ │ │ │ ├── 1-description-eng.html │ │ │ │ ├── 1-description.html │ │ │ │ ├── 1-input-eng.html │ │ │ │ ├── 1-input.html │ │ │ │ ├── 1-output-eng.html │ │ │ │ ├── 1-output.html │ │ │ │ ├── 2-description.html │ │ │ │ ├── 2-input.html │ │ │ │ ├── 2-output.html │ │ │ │ ├── 3-description.html │ │ │ │ ├── 3-input.html │ │ │ │ ├── 3-output.html │ │ │ │ ├── 4-description.html │ │ │ │ ├── 4-hint.html │ │ │ │ ├── 4-input.html │ │ │ │ ├── 4-output.html │ │ │ │ ├── 5-description.html │ │ │ │ ├── 5-input.html │ │ │ │ ├── 5-output.html │ │ │ │ ├── 6-description.html │ │ │ │ ├── 6-hint.html │ │ │ │ ├── 6-input.html │ │ │ │ ├── 6-output.html │ │ │ │ ├── 7-description.html │ │ │ │ ├── 7-input.html │ │ │ │ ├── 7-output.html │ │ │ │ ├── 8-description.html │ │ │ │ ├── 8-hint.html │ │ │ │ ├── 8-input.html │ │ │ │ └── 8-output.html │ │ ├── migrations │ │ │ ├── 20220413125002_init │ │ │ │ └── migration.sql │ │ │ ├── 20220620162501_basic_plan │ │ │ │ └── migration.sql │ │ │ ├── 20220705080930_add_default_user_role │ │ │ │ └── migration.sql │ │ │ ├── 20220705121234_delete_group_notice │ │ │ │ └── migration.sql │ │ │ ├── 20220706072821_contest_type │ │ │ │ └── migration.sql │ │ │ ├── 20220710121359_add_description_summary_to_contest │ │ │ │ └── migration.sql │ │ │ ├── 20220712082423_use_enum_for_user_role │ │ │ │ └── migration.sql │ │ │ ├── 20220721140056_delete_user_profile_major │ │ │ │ └── migration.sql │ │ │ ├── 20220725091416_delete_has_email_authenticated_of_user │ │ │ │ └── migration.sql │ │ │ ├── 20220812060317_add_allow_partial_score_to_workbook │ │ │ │ └── migration.sql │ │ │ ├── 20220820175807_add_contest_to_public_request_table │ │ │ │ └── migration.sql │ │ │ ├── 20220827082307_add_is_public_to_contest_table │ │ │ │ └── migration.sql │ │ │ ├── 20220925061759_unique_group_name │ │ │ │ └── migration.sql │ │ │ ├── 20220930064123_refactor_user_role │ │ │ │ └── migration.sql │ │ │ ├── 20221117125726_ │ │ │ │ └── migration.sql │ │ │ ├── 20221222120916_prevent_deleting_reference │ │ │ │ └── migration.sql │ │ │ ├── 20221223103636_change_name_of_contest_public_request │ │ │ │ └── migration.sql │ │ │ ├── 20230118082429_refer_problem_in_contest_notice │ │ │ │ └── migration.sql │ │ │ ├── 20230118084103_drop_time_in_workbook │ │ │ │ └── migration.sql │ │ │ ├── 20230118084501_drop_type_of_tag │ │ │ │ └── migration.sql │ │ │ ├── 20230118084806_delete_allow_partial_score_field_in_workbook_model │ │ │ │ └── migration.sql │ │ │ ├── 20230126123416_add_group_config │ │ │ │ └── migration.sql │ │ │ ├── 20230127120354_revise_schema_to_follow_new_plan │ │ │ │ └── migration.sql │ │ │ ├── 20230127122258_modify_config_to_be_required │ │ │ │ └── migration.sql │ │ │ ├── 20230203104712_make_composite_pk_of_user_group │ │ │ │ └── migration.sql │ │ │ ├── 20230210080345_set_composite_ids_for_contest_and_workbook_problem │ │ │ │ └── migration.sql │ │ │ ├── 20230215042218_change_last_login_optional │ │ │ │ └── migration.sql │ │ │ ├── 20230215140607_cascade_user_profile_and_user_group │ │ │ │ └── migration.sql │ │ │ ├── 20230509150046_set_language_as_enum_type │ │ │ │ └── migration.sql │ │ │ ├── 20230518113105_add_languages_on_language_enum │ │ │ │ └── migration.sql │ │ │ ├── 20230518113231_add_result_status_on_result_status_enum │ │ │ │ └── migration.sql │ │ │ ├── 20230624044048_set_problem_testcase_cascade_on_delete │ │ │ │ └── migration.sql │ │ │ ├── 20230624045459_rename_contest_notice_with_clarification │ │ │ │ └── migration.sql │ │ │ ├── 20230624050255_add_on_delete_options │ │ │ │ └── migration.sql │ │ │ ├── 20230624052239_set_problem_tag_cascade_on_delete │ │ │ │ └── migration.sql │ │ │ ├── 20230629103918_delete_is_deleted_field_from_group │ │ │ │ └── migration.sql │ │ │ ├── 20230706094306_add_result_field_to_submission_table │ │ │ │ └── migration.sql │ │ │ ├── 20230706140246_modify_problem_tag_on_delete │ │ │ │ └── migration.sql │ │ │ ├── 20230713114754_set_code_to_be_list_of_snippets │ │ │ │ └── migration.sql │ │ │ ├── 20230713151909_add_levels_to_level_enum │ │ │ │ └── migration.sql │ │ │ ├── 20230713192623_set_combinational_pk_in_contest_record_table │ │ │ │ └── migration.sql │ │ │ ├── 20230713192646_add_cpu_and_memory_usage_to_submission_result_table │ │ │ │ └── migration.sql │ │ │ ├── 20230713192746_add_expose_time_to_problem_table │ │ │ │ └── migration.sql │ │ │ ├── 20230812053949_add_announcement_model │ │ │ │ └── migration.sql │ │ │ ├── 20230812061117_modify_problem_and_contest_announcement_model │ │ │ │ └── migration.sql │ │ │ ├── 20230813072158_modify_conestworkbook_problem_schema │ │ │ │ └── migration.sql │ │ │ ├── 20230925075957_add_user_oauth_model │ │ │ │ └── migration.sql │ │ │ ├── 20231102152425_make_email_not_null │ │ │ │ └── migration.sql │ │ │ ├── 20231109131322_enable_user_deletion │ │ │ │ └── migration.sql │ │ │ ├── 20231218063830_ │ │ │ │ └── migration.sql │ │ │ ├── 20231221012339_ │ │ │ │ └── migration.sql │ │ │ ├── 20231221044026_ │ │ │ │ └── migration.sql │ │ │ ├── 20231221081427_referential_action_modification │ │ │ │ └── migration.sql │ │ │ ├── 20231228083547_add_ac_rate │ │ │ │ └── migration.sql │ │ │ ├── 20240104063238_change_submission_id_type │ │ │ │ └── migration.sql │ │ │ ├── 20240104072555_change_submission_result_table_name │ │ │ │ └── migration.sql │ │ │ ├── 20240107173556_code_draft │ │ │ │ └── migration.sql │ │ │ ├── 20240118071939_change_user_oauth_id_to_string │ │ │ │ └── migration.sql │ │ │ ├── 20240124143020_add_score_field_in_contest_record │ │ │ │ └── migration.sql │ │ │ ├── 20240201082532_add_codesize_to_submission │ │ │ │ └── migration.sql │ │ │ ├── 20240207142636_connect_announcement_to_contest │ │ │ │ └── migration.sql │ │ │ ├── 20240213051227_add_is_visible_to_problem_model │ │ │ │ └── migration.sql │ │ │ ├── 20240213065504_add_exaple_io_model │ │ │ │ └── migration.sql │ │ │ ├── 20240215062711_add_english_information_to_problem_model │ │ │ │ └── migration.sql │ │ │ ├── 20240325124437_unpack_config_column │ │ │ │ └── migration.sql │ │ │ ├── 20240326030257_add_mapping_to_is_rank_visible │ │ │ │ └── migration.sql │ │ │ ├── 20240406140833_add_image_model │ │ │ │ └── migration.sql │ │ │ ├── 20240408084124_add_finish_time_on_contest_record │ │ │ │ └── migration.sql │ │ │ ├── 20240711124028_add_invitation_code_field_to_contest_model │ │ │ │ └── migration.sql │ │ │ ├── 20240715051715_add_enable_copy_paste_field_to_contest_model │ │ │ │ └── migration.sql │ │ │ ├── 20240722070636_add_problem_template_default_value │ │ │ │ └── migration.sql │ │ │ ├── 20240722144203_rename_expose_time_to_visible_lock_time │ │ │ │ └── migration.sql │ │ │ ├── 20240723071405_judge_by_testcase_id │ │ │ │ └── migration.sql │ │ │ ├── 20240725120844_add_is_judge_result_visible_field_to_contest │ │ │ │ └── migration.sql │ │ │ ├── 20240801120143_add_cascade_on_announcement_model │ │ │ │ └── migration.sql │ │ │ ├── 20240801152242_add_student_id_and_major_field │ │ │ │ └── migration.sql │ │ │ ├── 20240805054610_add_map_image │ │ │ │ └── migration.sql │ │ │ ├── 20240805054951_add_user_ip_in_submission │ │ │ │ └── migration.sql │ │ │ ├── 20240819125317_add_segmentation_fault_on_result_status_enum │ │ │ │ └── migration.sql │ │ │ ├── 20240822012258_add_blind_on_enum_result_status │ │ │ │ └── migration.sql │ │ │ ├── 20240822115322_add_score_on_submission_table │ │ │ │ └── migration.sql │ │ │ ├── 20240826051609_add_is_hidden_on_problemtestcase_model │ │ │ │ └── migration.sql │ │ │ ├── 20240907114725_add_is_test_column_on_submisison_table │ │ │ │ └── migration.sql │ │ │ ├── 20240907142349_delete_is_test_column_on_submission_table │ │ │ │ └── migration.sql │ │ │ ├── 20250108071512_rename_contest_to_assignment │ │ │ │ └── migration.sql │ │ │ ├── 20250108111635_add_contest_tables │ │ │ │ └── migration.sql │ │ │ ├── 20250122091627_add_overview_fields_to_contest │ │ │ │ └── migration.sql │ │ │ ├── 20250123114853_contest_leaderboard │ │ │ │ └── migration.sql │ │ │ ├── 20250125081617_edit_contest_problem_record_table │ │ │ │ └── migration.sql │ │ │ ├── 20250127143044_add_firstsolver_column_in_contestproblemrecord │ │ │ │ └── migration.sql │ │ │ ├── 20250128062105_add_columns_for_freeze_feature │ │ │ │ └── migration.sql │ │ │ ├── 20250130102040_delete_group_from_contest │ │ │ │ └── migration.sql │ │ │ ├── 20250201030022_permission_of_contest │ │ │ │ └── migration.sql │ │ │ ├── 20250201073706_rename_contest_user_to_user_contest │ │ │ │ └── migration.sql │ │ │ ├── 20250203082532_add_test_submission_tables │ │ │ │ └── migration.sql │ │ │ ├── 20250211142421_add_course │ │ │ │ └── migration.sql │ │ │ ├── 20250212170028_add_week_to_assignment │ │ │ │ └── migration.sql │ │ │ ├── 20250217140916_add_whitelist_and_require_studentid │ │ │ │ └── migration.sql │ │ │ ├── 20250222104116_remove_group_in_problem │ │ │ │ └── migration.sql │ │ │ ├── 20250222113752_add_ondelete_cascade_to_workbook_and_assignment │ │ │ │ └── migration.sql │ │ │ ├── 20250222121026_modify_notice_group_id_optional │ │ │ │ └── migration.sql │ │ │ ├── 20250224101700_add_assignment_problem_record │ │ │ │ └── migration.sql │ │ │ ├── 20250224150704_change_contest_summary_to_json │ │ │ │ └── migration.sql │ │ │ ├── 20250224155440_add_n_m_relation_to_problem_group │ │ │ │ └── migration.sql │ │ │ ├── 20250226052520_add_grade_feature │ │ │ │ └── migration.sql │ │ │ ├── 20250226123823_remove_code_draft │ │ │ │ └── migration.sql │ │ │ ├── 20250227095751_add_unique_constraint_to_submission_result │ │ │ │ └── migration.sql │ │ │ ├── 20250301163819_add_update_history_model │ │ │ │ └── migration.sql │ │ │ ├── 20250301180523_delete_assignment_from_announcement │ │ │ │ └── migration.sql │ │ │ ├── 20250303221903_evaluate_with_sample_testcase_included │ │ │ │ └── migration.sql │ │ │ ├── 20250310143440_remove_unused_column_in_contest │ │ │ │ └── migration.sql │ │ │ ├── 20250313061215_add_unfreeze_column │ │ │ │ └── migration.sql │ │ │ ├── 20250318172841_fix_problem_field_enum_typo │ │ │ │ └── migration.sql │ │ │ ├── 20250321184121_rename_image_to_file │ │ │ │ └── migration.sql │ │ │ ├── 20250323164730_add_output_on_submission_result_table │ │ │ │ └── migration.sql │ │ │ ├── 20250329135318_first_solver │ │ │ │ └── migration.sql │ │ │ ├── 20250329172028_delete_contest_cascade_bug │ │ │ │ └── migration.sql │ │ │ ├── 20250329203150_contest_description_nullable │ │ │ │ └── migration.sql │ │ │ ├── 20250330014034_contest_description_nullable │ │ │ │ └── migration.sql │ │ │ ├── 20250331141128_optional_problem_testcase_io_field │ │ │ │ └── migration.sql │ │ │ ├── 20250403092824_remove_group_id_from_notice │ │ │ │ └── migration.sql │ │ │ ├── 20250407142637_add_order_to_problem_testcase │ │ │ │ └── migration.sql │ │ │ ├── 20250429053044_add_exercise │ │ │ │ └── migration.sql │ │ │ ├── 20250505075207_add_solution_to_problem │ │ │ │ └── migration.sql │ │ │ ├── 20250506225054_add_duetime │ │ │ │ └── migration.sql │ │ │ ├── 20250508075803_add_solution_release_time_to_assignment_problem │ │ │ │ └── migration.sql │ │ │ ├── 20250508115525_add_canceled_on_result_status_enum │ │ │ │ └── migration.sql │ │ │ ├── 20250509042559_add_pypy3_on_langauge_enum │ │ │ │ └── migration.sql │ │ │ ├── 20250512114517_contest_qna │ │ │ │ └── migration.sql │ │ │ ├── 20250712001015_add_register_due_date_to_contest │ │ │ │ └── migration.sql │ │ │ ├── 20250713104040_add_submission_and_accepted_count │ │ │ │ └── migration.sql │ │ │ ├── 20250724085802_add_plagiarism_check_model │ │ │ │ └── migration.sql │ │ │ ├── 20250725145926_add_category_on_contest_qna │ │ │ │ └── migration.sql │ │ │ ├── 20250726051717_add_notification │ │ │ │ └── migration.sql │ │ │ ├── 20250726135048_add_contest_qna_comment │ │ │ │ └── migration.sql │ │ │ ├── 20250726160852_add_is_contest_staff_column_to_contest_qna_comment │ │ │ │ └── migration.sql │ │ │ ├── 20250802012445_remove_update_time_in_qna │ │ │ │ └── migration.sql │ │ │ ├── 20250804133157_add_push_subscription │ │ │ │ └── migration.sql │ │ │ ├── 20250804140136_remove_is_visible_in_contest_qna │ │ │ │ └── migration.sql │ │ │ ├── 20250810172754_add_fraction_scoreweight │ │ │ │ └── migration.sql │ │ │ ├── 20250810174636_add_score_fields │ │ │ │ └── migration.sql │ │ │ ├── 20250815085553_add_read_by_in_contest_qna │ │ │ │ └── migration.sql │ │ │ ├── 20250818150736_add_college_to_user │ │ │ │ └── migration.sql │ │ │ ├── 20250827171457_set_score_weight_as_not_null │ │ │ │ └── migration.sql │ │ │ ├── 20250828113501_add_course_notice │ │ │ │ └── migration.sql │ │ │ ├── 20250901080917_remove_problem_relation_in_course_notice │ │ │ │ └── migration.sql │ │ │ ├── 20250906094931_add_outdated_in_problem_testcase │ │ │ │ └── migration.sql │ │ │ ├── 20250906133324_make_due_time_nullable │ │ │ │ └── migration.sql │ │ │ ├── 20250920134752_add_is_visible_and_is_deleted_to_course_notice_comment │ │ │ │ └── migration.sql │ │ │ ├── 20250921123231_add_update_content_time_in_problem │ │ │ │ └── migration.sql │ │ │ ├── 20250924071153_delete_is_read_on_course_notice_read_record │ │ │ │ └── migration.sql │ │ │ ├── 20251007113340_migrate_course_notice_record_to_read_by │ │ │ │ └── migration.sql │ │ │ ├── 20251022064932_add_is_uploaded_by_zip_to_problem │ │ │ │ └── migration.sql │ │ │ ├── 20251023123035_change_record_score_type_to_decimal │ │ │ │ └── migration.sql │ │ │ ├── 20251023132126_change_final_score_type_to_decimal │ │ │ │ └── migration.sql │ │ │ ├── 20251029160150_index_testcase_with_problem_id │ │ │ │ └── migration.sql │ │ │ ├── 20251118115212_add_is_blocked_to_user_contest │ │ │ │ └── migration.sql │ │ │ └── migration_lock.toml │ │ ├── problem-testcases │ │ │ ├── 1.json │ │ │ ├── 2.json │ │ │ ├── 3.json │ │ │ ├── 4.json │ │ │ ├── 5.json │ │ │ ├── 6.json │ │ │ ├── 7.json │ │ │ └── 8.json │ │ ├── schema.prisma │ │ └── seed.ts │ ├── schema.gql │ ├── scripts │ │ ├── add-solution.ts │ │ ├── migrate-scoreweight-fix.ts │ │ └── migrate-scoreweight.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── webpack.config.js ├── frontend │ ├── .env.example │ ├── .gitignore │ ├── Dockerfile │ ├── Dockerfile.dockerignore │ ├── app │ │ ├── (client) │ │ │ ├── (code-editor) │ │ │ │ ├── _components │ │ │ │ │ ├── AssignmentProblemDropdown.tsx │ │ │ │ │ ├── ContestProblemDropdown.tsx │ │ │ │ │ ├── CopyButton.tsx │ │ │ │ │ ├── EditorDescription.tsx │ │ │ │ │ ├── EditorHeader │ │ │ │ │ │ ├── BackCautionDialog.tsx │ │ │ │ │ │ ├── EditorHeader.tsx │ │ │ │ │ │ └── RunTestButton.tsx │ │ │ │ │ ├── EditorLayout.tsx │ │ │ │ │ ├── EditorResizablePanel.tsx │ │ │ │ │ ├── EditorSampleField.tsx │ │ │ │ │ ├── EditorSkeleton.tsx │ │ │ │ │ ├── FinishedNoticePanel.tsx │ │ │ │ │ ├── LeaderboardModalDialog.tsx │ │ │ │ │ ├── LoadButton.tsx │ │ │ │ │ ├── ReferenceDialog.tsx │ │ │ │ │ ├── SolutionLayout.tsx │ │ │ │ │ ├── SubmissionTable.tsx │ │ │ │ │ ├── TestcasePanel │ │ │ │ │ │ ├── AddUserTestcaseDialog.tsx │ │ │ │ │ │ ├── RunnerTab.tsx │ │ │ │ │ │ ├── TestcasePanel.tsx │ │ │ │ │ │ ├── TestcaseTable.tsx │ │ │ │ │ │ ├── useRunner.ts │ │ │ │ │ │ ├── useTestResults.ts │ │ │ │ │ │ ├── useUserTestcasesForm.ts │ │ │ │ │ │ └── xterm.css │ │ │ │ │ ├── WhitespaceVisualizer.tsx │ │ │ │ │ └── context │ │ │ │ │ │ ├── ProblemContext.tsx │ │ │ │ │ │ ├── ReFetchingLeaderboardStoreProvider.tsx │ │ │ │ │ │ ├── ReFetchingSubmissionDetailStoreProvider.tsx │ │ │ │ │ │ ├── ReFetchingSubmissionStoreProvider.tsx │ │ │ │ │ │ ├── RefetchingQnaCommentsStoreProvider.tsx │ │ │ │ │ │ ├── TestPollingStoreProvider.tsx │ │ │ │ │ │ └── TestcaseStoreProvider.tsx │ │ │ │ ├── _libs │ │ │ │ │ ├── dataIfError.ts │ │ │ │ │ └── hooks │ │ │ │ │ │ └── useSubmissionPolling.ts │ │ │ │ ├── contest │ │ │ │ │ └── [contestId] │ │ │ │ │ │ ├── finished │ │ │ │ │ │ └── problem │ │ │ │ │ │ │ └── [problemId] │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── problem │ │ │ │ │ │ └── [problemId] │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ ├── leaderboard │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ │ ├── LeaderboardPaginatedTable.tsx │ │ │ │ │ │ │ └── LeaderboardTable.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ ├── loading.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ ├── qna │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── CommentsArea.tsx │ │ │ │ │ │ │ ├── CreateComments.tsx │ │ │ │ │ │ │ ├── CreateQnaTextArea.tsx │ │ │ │ │ │ │ ├── QnaAccordion.tsx │ │ │ │ │ │ │ └── QuestionAnswerArea.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── submission │ │ │ │ │ │ ├── [submissionId] │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ └── SubmissionDetailTitle.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ ├── SubmissionDetail.tsx │ │ │ │ │ │ └── SubmissionPaginatedTable.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ ├── loading.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ ├── course │ │ │ │ │ └── [courseId] │ │ │ │ │ │ ├── assignment │ │ │ │ │ │ └── [assignmentId] │ │ │ │ │ │ │ ├── finished │ │ │ │ │ │ │ └── problem │ │ │ │ │ │ │ │ └── [problemId] │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── problem │ │ │ │ │ │ │ └── [problemId] │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ ├── solution │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ ├── [submissionId] │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ ├── SubmissionDetail.tsx │ │ │ │ │ │ │ │ └── SubmissionDetailTitle.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ │ └── SubmissionPaginatedTable.tsx │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ ├── loading.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── exercise │ │ │ │ │ │ └── [exerciseId] │ │ │ │ │ │ ├── finished │ │ │ │ │ │ └── problem │ │ │ │ │ │ │ └── [problemId] │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── problem │ │ │ │ │ │ └── [problemId] │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ ├── solution │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── submission │ │ │ │ │ │ ├── [submissionId] │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── SubmissionDetail.tsx │ │ │ │ │ │ │ └── SubmissionDetailTitle.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ └── SubmissionPaginatedTable.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ ├── loading.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ └── problem │ │ │ │ │ └── [problemId] │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── submission │ │ │ │ │ ├── [submissionId] │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── _components │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ ├── SubmissionDetail.tsx │ │ │ │ │ └── SubmissionPaginatedTable.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ ├── (main) │ │ │ │ ├── _components │ │ │ │ │ ├── Badge.tsx │ │ │ │ │ ├── Carousel.tsx │ │ │ │ │ ├── ContestCard.tsx │ │ │ │ │ ├── Cover.tsx │ │ │ │ │ ├── DataTable.tsx │ │ │ │ │ ├── Footer.tsx │ │ │ │ │ ├── Header.tsx │ │ │ │ │ ├── InstagramCard.tsx │ │ │ │ │ ├── InstagramCards.tsx │ │ │ │ │ ├── MiddleContestBanner.tsx │ │ │ │ │ ├── NavLink.tsx │ │ │ │ │ ├── NewProblemCards.tsx │ │ │ │ │ ├── ProblemCard.tsx │ │ │ │ │ ├── SearchBar.tsx │ │ │ │ │ ├── ServiceCards.tsx │ │ │ │ │ └── StatusBadge.tsx │ │ │ │ ├── _contexts │ │ │ │ │ └── HeaderTitleContext.tsx │ │ │ │ ├── contest │ │ │ │ │ ├── [contestId] │ │ │ │ │ │ ├── @tabs │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ ├── BiggerImageButton.tsx │ │ │ │ │ │ │ │ ├── ContestOverviewLayout.tsx │ │ │ │ │ │ │ │ ├── GoToFirstProblemButton.tsx │ │ │ │ │ │ │ │ ├── GotoContestListButton.tsx │ │ │ │ │ │ │ │ ├── PrevNextProblemButton.tsx │ │ │ │ │ │ │ │ ├── RegisterButton.tsx │ │ │ │ │ │ │ │ ├── RegisterCancelButton.tsx │ │ │ │ │ │ │ │ ├── RenderProblemColumn.tsx │ │ │ │ │ │ │ │ └── RenderProblemList.tsx │ │ │ │ │ │ │ ├── announcement │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ └── Columns.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── leaderboard │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ ├── LeaderboardModalDialog.tsx │ │ │ │ │ │ │ │ │ ├── LeaderboardRow.tsx │ │ │ │ │ │ │ │ │ ├── LeaderboardSolvedList.tsx │ │ │ │ │ │ │ │ │ ├── LeaderboardTable.tsx │ │ │ │ │ │ │ │ │ └── LeaderboardTableHeader.tsx │ │ │ │ │ │ │ │ ├── _libs │ │ │ │ │ │ │ │ │ ├── apis │ │ │ │ │ │ │ │ │ │ ├── getContest.ts │ │ │ │ │ │ │ │ │ │ └── getContestLeaderboard.ts │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── notice │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ ├── problem │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ │ │ │ ├── MySubmission.tsx │ │ │ │ │ │ │ │ │ └── SubmissionDetailContent.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── qna │ │ │ │ │ │ │ │ ├── [qnaId] │ │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ │ ├── QnaCommentArea.tsx │ │ │ │ │ │ │ │ │ │ ├── QnaCommentPostArea.tsx │ │ │ │ │ │ │ │ │ │ ├── QnaContentArea.tsx │ │ │ │ │ │ │ │ │ │ ├── QnaDetailDeleteButton.tsx │ │ │ │ │ │ │ │ │ │ ├── QnaErrorPage.tsx │ │ │ │ │ │ │ │ │ │ ├── QnaSingleComment.tsx │ │ │ │ │ │ │ │ │ │ └── context │ │ │ │ │ │ │ │ │ │ │ └── QnaCommentStoreProvider.tsx │ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ ├── LoginButton.tsx │ │ │ │ │ │ │ │ │ ├── QnACategoryFilter.tsx │ │ │ │ │ │ │ │ │ ├── QnADataTable.tsx │ │ │ │ │ │ │ │ │ ├── QnAMainColumns.tsx │ │ │ │ │ │ │ │ │ ├── QnAMainTable.tsx │ │ │ │ │ │ │ │ │ ├── QnAPostButton.tsx │ │ │ │ │ │ │ │ │ └── SearchBar.tsx │ │ │ │ │ │ │ │ ├── create │ │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ │ ├── Content.tsx │ │ │ │ │ │ │ │ │ │ ├── ProblemDropdown.tsx │ │ │ │ │ │ │ │ │ │ ├── ProblemSelector.tsx │ │ │ │ │ │ │ │ │ │ ├── QnaForm.tsx │ │ │ │ │ │ │ │ │ │ ├── SubmitButton.tsx │ │ │ │ │ │ │ │ │ │ └── Title.tsx │ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── standings │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ └── StandingsTable.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── statistics │ │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── _libs │ │ │ │ │ │ │ ├── apis.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── layout.tsx │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── ContestCardList.tsx │ │ │ │ │ │ ├── ContestDataTable.tsx │ │ │ │ │ │ ├── ContestFeatureCard.tsx │ │ │ │ │ │ ├── ContestFeatureList.tsx │ │ │ │ │ │ ├── ContestMainBanner.tsx │ │ │ │ │ │ ├── ContestMainColumns.tsx │ │ │ │ │ │ ├── ContestMainTable.tsx │ │ │ │ │ │ ├── ContestSubBanner.tsx │ │ │ │ │ │ ├── ContestTable.tsx │ │ │ │ │ │ ├── ContestTabs.tsx │ │ │ │ │ │ └── ContestTitleFilter.tsx │ │ │ │ │ ├── _libs │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── error.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── course │ │ │ │ │ ├── [courseId] │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── AssignmentAccordion.tsx │ │ │ │ │ │ │ ├── AssignmentLink.tsx │ │ │ │ │ │ │ ├── AssignmentReminderBox.tsx │ │ │ │ │ │ │ ├── CourseInfoBox.tsx │ │ │ │ │ │ │ ├── CourseSidebar.tsx │ │ │ │ │ │ │ ├── Cover.tsx │ │ │ │ │ │ │ ├── DetailButton.tsx │ │ │ │ │ │ │ ├── ExerciseAccordion.tsx │ │ │ │ │ │ │ ├── GradeStatisticsModal.tsx │ │ │ │ │ │ │ ├── Header.tsx │ │ │ │ │ │ │ ├── OngoingAssignments.tsx │ │ │ │ │ │ │ ├── ProblemCard.tsx │ │ │ │ │ │ │ ├── ProblemDetailModal.tsx │ │ │ │ │ │ │ ├── RecentNotice.tsx │ │ │ │ │ │ │ ├── RecentUpdate.tsx │ │ │ │ │ │ │ ├── ResultBadge.tsx │ │ │ │ │ │ │ ├── SubmissionDetailModal.tsx │ │ │ │ │ │ │ ├── SubmissionOverviewModal.tsx │ │ │ │ │ │ │ ├── TestCaseResult.tsx │ │ │ │ │ │ │ ├── UpdateIcon.tsx │ │ │ │ │ │ │ └── dummy.ts │ │ │ │ │ │ ├── assignment │ │ │ │ │ │ │ ├── [assignmentId] │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ ├── AssignmentTabs.tsx │ │ │ │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ │ │ │ ├── MySubmission.tsx │ │ │ │ │ │ │ │ │ ├── SubmissionDetailContent.tsx │ │ │ │ │ │ │ │ │ └── TotalScoreLabel.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── exam │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── exercise │ │ │ │ │ │ │ ├── [exerciseId] │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ └── Columns.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ ├── member │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── notice │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ └── qna │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── CalendarTable.tsx │ │ │ │ │ │ ├── CourseCard.tsx │ │ │ │ │ │ ├── CourseCardList.tsx │ │ │ │ │ │ ├── CourseMainBanner.tsx │ │ │ │ │ │ ├── CourseSubBanner.tsx │ │ │ │ │ │ ├── Dashboard.tsx │ │ │ │ │ │ ├── DashboardCalendar.tsx │ │ │ │ │ │ ├── EventDialog.tsx │ │ │ │ │ │ ├── FinishedTableColumns.tsx │ │ │ │ │ │ ├── LoginButton.tsx │ │ │ │ │ │ └── RegisterCourseButton.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── style.css │ │ │ │ ├── error.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── notice │ │ │ │ │ ├── [noticeId] │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ └── NoticeTable.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── page.tsx │ │ │ │ ├── problem │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ ├── ProblemInfiniteTable.tsx │ │ │ │ │ │ └── SortButton.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── settings │ │ │ │ │ ├── _components │ │ │ │ │ ├── ConfirmModal.tsx │ │ │ │ │ ├── CurrentPwSection.tsx │ │ │ │ │ ├── EmailSection.tsx │ │ │ │ │ ├── IdSection.tsx │ │ │ │ │ ├── LogoSection.tsx │ │ │ │ │ ├── MajorSection.tsx │ │ │ │ │ ├── NameSection.tsx │ │ │ │ │ ├── NewPwSection.tsx │ │ │ │ │ ├── PushNotificationSection.tsx │ │ │ │ │ ├── ReEnterNewPwSection.tsx │ │ │ │ │ ├── SaveButton.tsx │ │ │ │ │ ├── StudentIdSection.tsx │ │ │ │ │ ├── TopicSection.tsx │ │ │ │ │ └── context.ts │ │ │ │ │ ├── _libs │ │ │ │ │ ├── hooks │ │ │ │ │ │ └── useCheckPassword.ts │ │ │ │ │ ├── schemas.ts │ │ │ │ │ └── utils.ts │ │ │ │ │ └── page.tsx │ │ │ ├── _libs │ │ │ │ ├── apis │ │ │ │ │ ├── assignment.ts │ │ │ │ │ ├── assignmentProblem.ts │ │ │ │ │ ├── assignmentSubmission.ts │ │ │ │ │ ├── contestProblem.ts │ │ │ │ │ ├── contestSubmission.ts │ │ │ │ │ ├── problem.ts │ │ │ │ │ ├── problemSubmission.ts │ │ │ │ │ ├── profile.ts │ │ │ │ │ └── types.ts │ │ │ │ └── queries │ │ │ │ │ ├── assignment.ts │ │ │ │ │ ├── assignmentProblem.ts │ │ │ │ │ ├── assignmentSubmission.ts │ │ │ │ │ ├── contestProblem.ts │ │ │ │ │ ├── contestSubmission.ts │ │ │ │ │ ├── infiniteQuery.ts │ │ │ │ │ ├── problem.ts │ │ │ │ │ ├── problemSubmission.ts │ │ │ │ │ └── profile.ts │ │ │ ├── layout.tsx │ │ │ └── login │ │ │ │ └── page.tsx │ │ ├── (handler) │ │ │ └── next-auth │ │ │ │ └── api │ │ │ │ └── auth │ │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ ├── PretendardVariable.woff2 │ │ ├── admin │ │ │ ├── _components │ │ │ │ ├── AdminContestStatusTimeDiff.tsx │ │ │ │ ├── ApolloProvider.tsx │ │ │ │ ├── CautionDialog.tsx │ │ │ │ ├── ConfirmNavigation.tsx │ │ │ │ ├── DescriptionForm.tsx │ │ │ │ ├── ErrorMessage.tsx │ │ │ │ ├── FormSection.tsx │ │ │ │ ├── GroupSelect.tsx │ │ │ │ ├── ImportProblemButton.tsx │ │ │ │ ├── ImportProblemDescription.tsx │ │ │ │ ├── Label.tsx │ │ │ │ ├── ManagementSidebar.tsx │ │ │ │ ├── OptionSelect.tsx │ │ │ │ ├── SummaryForm.tsx │ │ │ │ ├── SwitchField.tsx │ │ │ │ ├── TextEditor.tsx │ │ │ │ ├── TimeForm.tsx │ │ │ │ ├── TitleForm.tsx │ │ │ │ ├── VisibleForm.tsx │ │ │ │ ├── code-editor │ │ │ │ │ ├── AssignmentHeader.tsx │ │ │ │ │ ├── CopyButton.tsx │ │ │ │ │ ├── EditorDescription.tsx │ │ │ │ │ ├── EditorLayout.tsx │ │ │ │ │ ├── EditorResizablePanel.tsx │ │ │ │ │ ├── EditorSampleField.tsx │ │ │ │ │ ├── PreviewEditorLayout.tsx │ │ │ │ │ ├── PreviewEditorResizablePanel.tsx │ │ │ │ │ ├── ReferenceDialog.tsx │ │ │ │ │ ├── SolutionLayout.tsx │ │ │ │ │ ├── TestcasePanel.tsx │ │ │ │ │ ├── WhitespaceVisualizer.tsx │ │ │ │ │ └── libs │ │ │ │ │ │ └── util.ts │ │ │ │ ├── table │ │ │ │ │ ├── DataTable.tsx │ │ │ │ │ ├── DataTableColumnHeader.tsx │ │ │ │ │ ├── DataTableDeleteButton.tsx │ │ │ │ │ ├── DataTableFallback.tsx │ │ │ │ │ ├── DataTableLangFilter.tsx │ │ │ │ │ ├── DataTableLevelFilter.tsx │ │ │ │ │ ├── DataTableMultiSelectFilter.tsx │ │ │ │ │ ├── DataTablePagination.tsx │ │ │ │ │ ├── DataTableProblemFilter.tsx │ │ │ │ │ ├── DataTableRoot.tsx │ │ │ │ │ ├── DataTableSearchBar.tsx │ │ │ │ │ ├── DataTableSemesterFilter.tsx │ │ │ │ │ ├── DataTableSortButton.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── context.ts │ │ │ │ │ └── index.ts │ │ │ │ └── tiptap │ │ │ │ │ ├── CodeBlockComponent.tsx │ │ │ │ │ ├── CommandsList.tsx │ │ │ │ │ ├── FileDownloadNode.tsx │ │ │ │ │ ├── HeadingStyleBar.tsx │ │ │ │ │ ├── InsertNodeBar.tsx │ │ │ │ │ ├── ListStyleBar.tsx │ │ │ │ │ ├── TextStyleBar.tsx │ │ │ │ │ ├── UndoRedoBar.tsx │ │ │ │ │ ├── commands.tsx │ │ │ │ │ ├── items.tsx │ │ │ │ │ └── renderItems.tsx │ │ │ ├── _libs │ │ │ │ └── utils.ts │ │ │ ├── contest │ │ │ │ ├── [contestId] │ │ │ │ │ ├── (overall) │ │ │ │ │ │ ├── @tabs │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ │ │ └── ParticipantTable.tsx │ │ │ │ │ │ │ ├── announcement │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ ├── CreateContestAnnouncement.tsx │ │ │ │ │ │ │ │ │ └── UpdateHistoryBox.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── leaderboard │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ ├── LeaderboardError.tsx │ │ │ │ │ │ │ │ │ ├── LeaderboardRow.tsx │ │ │ │ │ │ │ │ │ ├── LeaderboardSolvedList.tsx │ │ │ │ │ │ │ │ │ ├── LeaderboardTable.tsx │ │ │ │ │ │ │ │ │ ├── LeaderboardTableHeader.tsx │ │ │ │ │ │ │ │ │ └── LeaderboardUnfreezeSwitchDialog.tsx │ │ │ │ │ │ │ │ ├── _libs │ │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ ├── qna │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ ├── AdminCommentPostArea.tsx │ │ │ │ │ │ │ │ │ ├── AdminQnaCommentArea.tsx │ │ │ │ │ │ │ │ │ ├── AdminQnaContentArea.tsx │ │ │ │ │ │ │ │ │ ├── AdminQnaSingleComment.tsx │ │ │ │ │ │ │ │ │ ├── ContestQnaAnsweredTab.tsx │ │ │ │ │ │ │ │ │ ├── ContestQnaTable.tsx │ │ │ │ │ │ │ │ │ ├── ContestQnaTableColumns.tsx │ │ │ │ │ │ │ │ │ ├── QnaDetailModal.tsx │ │ │ │ │ │ │ │ │ └── context │ │ │ │ │ │ │ │ │ │ └── RefetchingQnaStoreProvider.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ ├── statistics │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ │ │ └── SubmissionTable.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── layout.tsx │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── ContestOverallTabs.tsx │ │ │ │ │ │ └── SubmissionDetailAdmin.tsx │ │ │ │ │ ├── edit │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── ContestEditEndTimeForm.tsx │ │ │ │ │ │ │ ├── EditContestForm.tsx │ │ │ │ │ │ │ └── date-time-picker-ongoing-contest.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── participant │ │ │ │ │ │ └── [userId] │ │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── ScoreColumns.tsx │ │ │ │ │ │ ├── ScoreTable.tsx │ │ │ │ │ │ ├── SubmissionColumns.tsx │ │ │ │ │ │ └── SubmissionTable.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ ├── _components │ │ │ │ │ ├── AddManagerReviewerDialog.tsx │ │ │ │ │ ├── ContestManagerReviewerColumns.tsx │ │ │ │ │ ├── ContestManagerReviewerTable.tsx │ │ │ │ │ ├── ContestProblemColumns.tsx │ │ │ │ │ ├── ContestProblemListLabel.tsx │ │ │ │ │ ├── ContestProblemTable.tsx │ │ │ │ │ ├── ContestTable.tsx │ │ │ │ │ ├── ContestTableColumns.tsx │ │ │ │ │ ├── CreateEditContestLabel.tsx │ │ │ │ │ ├── DeleteManagerReviewerAlert.tsx │ │ │ │ │ ├── DisableCopyPasteForm.tsx │ │ │ │ │ ├── FreezeForm.tsx │ │ │ │ │ ├── ImportProblemDialog.tsx │ │ │ │ │ ├── ImportProblemTable.tsx │ │ │ │ │ ├── ImportProblemTableColumns.tsx │ │ │ │ │ ├── InputFieldTab.tsx │ │ │ │ │ ├── PosterUploadForm.tsx │ │ │ │ │ ├── PreviewOverviewLayout.tsx │ │ │ │ │ ├── SampleTestcaseForm.tsx │ │ │ │ │ └── SelectedUserTab.tsx │ │ │ │ ├── _libs │ │ │ │ │ └── schemas.ts │ │ │ │ ├── create │ │ │ │ │ ├── _components │ │ │ │ │ │ └── CreateContestForm.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── error.tsx │ │ │ │ └── page.tsx │ │ │ ├── course │ │ │ │ ├── [courseId] │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── AssignmentOverallTabs.tsx │ │ │ │ │ │ ├── AssignmentProblemListLabel.tsx │ │ │ │ │ │ ├── AssignmentProblemTable.tsx │ │ │ │ │ │ ├── AssignmentSolutionColumns.tsx │ │ │ │ │ │ ├── AssignmentSolutionTable.tsx │ │ │ │ │ │ ├── CreateAssignmentForm.tsx │ │ │ │ │ │ ├── DataTableProblemFilterMini.tsx │ │ │ │ │ │ ├── EditAssignmentForm.tsx │ │ │ │ │ │ ├── ImportProblemDialog.tsx │ │ │ │ │ │ ├── ParticipantTable.tsx │ │ │ │ │ │ ├── ParticipationColumns.tsx │ │ │ │ │ │ ├── SubmissionColumns.tsx │ │ │ │ │ │ ├── SubmissionTable.tsx │ │ │ │ │ │ └── WeekComboBox.tsx │ │ │ │ │ ├── _libs │ │ │ │ │ │ ├── schemas.ts │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── assignment │ │ │ │ │ │ ├── [assignmentId] │ │ │ │ │ │ │ ├── (overall) │ │ │ │ │ │ │ │ ├── @tabs │ │ │ │ │ │ │ │ │ ├── assessment │ │ │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ │ │ ├── ColumnsByProblem.tsx │ │ │ │ │ │ │ │ │ │ │ ├── ColumnsOverall.tsx │ │ │ │ │ │ │ │ │ │ │ ├── CommentCell.tsx │ │ │ │ │ │ │ │ │ │ │ ├── DataTableProblemFilterSingle.tsx │ │ │ │ │ │ │ │ │ │ │ ├── GradeAssignmentTable.tsx │ │ │ │ │ │ │ │ │ │ │ ├── GradeAssignmentTableColumns.tsx │ │ │ │ │ │ │ │ │ │ │ ├── ParticipantTableByProblem.tsx │ │ │ │ │ │ │ │ │ │ │ └── ParticipantTableOverall.tsx │ │ │ │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ │ │ │ │ └── [userId] │ │ │ │ │ │ │ │ │ │ │ └── problem │ │ │ │ │ │ │ │ │ │ │ └── [problemId] │ │ │ │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ │ │ │ ├── FinalScoreForm.tsx │ │ │ │ │ │ │ │ │ │ │ ├── SubmissionAssessment.tsx │ │ │ │ │ │ │ │ │ │ │ ├── SubmissionSummary.tsx │ │ │ │ │ │ │ │ │ │ │ ├── SubmissionTestcase.tsx │ │ │ │ │ │ │ │ │ │ │ └── UpdateAssignmentProblemRecordForm.tsx │ │ │ │ │ │ │ │ │ │ │ ├── _libs │ │ │ │ │ │ │ │ │ │ │ └── schemas.ts │ │ │ │ │ │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ │ │ ├── statistics │ │ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ │ └── layout.tsx │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ └── SubmissionDetailAdmin.tsx │ │ │ │ │ │ │ ├── edit │ │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ └── participant │ │ │ │ │ │ │ │ └── [userId] │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ ├── ScoreColumns.tsx │ │ │ │ │ │ │ │ ├── ScoreTable.tsx │ │ │ │ │ │ │ │ ├── SubmissionColumns.tsx │ │ │ │ │ │ │ │ └── SubmissionTable.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── AssignmentProblemColumns.tsx │ │ │ │ │ │ │ ├── ImportProblemTable.tsx │ │ │ │ │ │ │ └── ImportProblemTableColumns.tsx │ │ │ │ │ │ ├── create │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── exam │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── exercise │ │ │ │ │ │ ├── [exerciseId] │ │ │ │ │ │ │ ├── (overall) │ │ │ │ │ │ │ │ ├── @tabs │ │ │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ │ │ ├── statistics │ │ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ │ └── submission │ │ │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ └── layout.tsx │ │ │ │ │ │ │ └── edit │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── create │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── notice │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ ├── qna │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── user │ │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ │ ├── DeleteUserButton.tsx │ │ │ │ │ │ ├── GroupTable.tsx │ │ │ │ │ │ ├── InviteByCode.tsx │ │ │ │ │ │ ├── InviteManually.tsx │ │ │ │ │ │ └── InviteUserButton.tsx │ │ │ │ │ │ ├── _libs │ │ │ │ │ │ └── schema.ts │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ ├── _components │ │ │ │ │ ├── AssignmentTable.tsx │ │ │ │ │ ├── AssignmentTableColumns.tsx │ │ │ │ │ ├── Columns.tsx │ │ │ │ │ ├── CourseFormFields.tsx │ │ │ │ │ ├── CreateCourseButton.tsx │ │ │ │ │ ├── CreateCourseForm.tsx │ │ │ │ │ ├── DeleteCourseButton.tsx │ │ │ │ │ ├── DropdownForm.tsx │ │ │ │ │ ├── DuplicateCourseButton.tsx │ │ │ │ │ ├── GroupTable.tsx │ │ │ │ │ ├── InputForm.tsx │ │ │ │ │ ├── TimeFormPopover.tsx │ │ │ │ │ └── UpdateCourseButton.tsx │ │ │ │ ├── _libs │ │ │ │ │ ├── schema.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── error.tsx │ │ │ │ └── page.tsx │ │ │ ├── error.tsx │ │ │ ├── layout.tsx │ │ │ ├── notice │ │ │ │ ├── [noticeId] │ │ │ │ │ └── page.tsx │ │ │ │ ├── _components │ │ │ │ │ ├── CreateNoticeForm.tsx │ │ │ │ │ └── FixedForm.tsx │ │ │ │ ├── _libs │ │ │ │ │ └── schemas.ts │ │ │ │ ├── create │ │ │ │ │ └── page.tsx │ │ │ │ ├── error.tsx │ │ │ │ └── page.tsx │ │ │ ├── page.tsx │ │ │ ├── problem │ │ │ │ ├── [problemId] │ │ │ │ │ ├── _components │ │ │ │ │ │ └── Columns.tsx │ │ │ │ │ ├── edit │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── BelongedContestTable.tsx │ │ │ │ │ │ │ ├── BelongedContestTableColumns.tsx │ │ │ │ │ │ │ ├── EditProblemContext.tsx │ │ │ │ │ │ │ ├── EditProblemForm.tsx │ │ │ │ │ │ │ ├── RevertScoreButton.tsx │ │ │ │ │ │ │ ├── ScoreCautionDialog.tsx │ │ │ │ │ │ │ └── SetToZeroButton.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── preview │ │ │ │ │ │ └── page.tsx │ │ │ │ ├── _components │ │ │ │ │ ├── AddBadge.tsx │ │ │ │ │ ├── CheckboxSelect.tsx │ │ │ │ │ ├── CodeForm.tsx │ │ │ │ │ ├── ExampleTextarea.tsx │ │ │ │ │ ├── InfoForm.tsx │ │ │ │ │ ├── LimitForm.tsx │ │ │ │ │ ├── ProblemTable.tsx │ │ │ │ │ ├── ProblemTableColumns.tsx │ │ │ │ │ ├── ProblemTabs.tsx │ │ │ │ │ ├── ProblemUsage.tsx │ │ │ │ │ ├── ProblemsDeleteButton.tsx │ │ │ │ │ ├── ProblemsDownload.tsx │ │ │ │ │ ├── ProblemsUploadButton.tsx │ │ │ │ │ ├── SolutionField.tsx │ │ │ │ │ ├── TemplateField.tsx │ │ │ │ │ ├── TestcaseField.tsx │ │ │ │ │ ├── TestcaseItem.tsx │ │ │ │ │ ├── TestcaseUploadModal.tsx │ │ │ │ │ ├── ZipUploadModal.tsx │ │ │ │ │ └── editor │ │ │ │ │ │ ├── CodeEditor.tsx │ │ │ │ │ │ ├── editorConfig.ts │ │ │ │ │ │ ├── formatConfigs.ts │ │ │ │ │ │ ├── formatters.ts │ │ │ │ │ │ └── index.ts │ │ │ │ ├── _libs │ │ │ │ │ ├── schemas.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── create │ │ │ │ │ ├── _components │ │ │ │ │ │ └── CreateProblemForm.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── error.tsx │ │ │ │ ├── page.tsx │ │ │ │ └── shared │ │ │ │ │ ├── _components │ │ │ │ │ ├── SharedProblemTable.tsx │ │ │ │ │ └── SharedProblemTableColumns.tsx │ │ │ │ │ ├── error.tsx │ │ │ │ │ └── page.tsx │ │ │ └── user │ │ │ │ ├── _components │ │ │ │ ├── Columns.tsx │ │ │ │ ├── UpdatePermissionSwitch.tsx │ │ │ │ └── UserTable.tsx │ │ │ │ ├── error.tsx │ │ │ │ └── page.tsx │ │ ├── apple-icon.png │ │ ├── favicon.ico │ │ ├── global-error.tsx │ │ ├── globals.css │ │ ├── icon.png │ │ ├── layout.tsx │ │ ├── manifest.webmanifest │ │ ├── my_api │ │ │ ├── instagram │ │ │ │ └── route.ts │ │ │ └── webhook-instagram │ │ │ │ └── route.ts │ │ ├── opengraph-image.png │ │ └── posthog.tsx │ ├── codegen.ts │ ├── components.json │ ├── components │ │ ├── AlertModal.tsx │ │ ├── AssignmentStatus.tsx │ │ ├── BaseModal.tsx │ │ ├── CodeEditor.tsx │ │ ├── ContestStatusTimeDiff.tsx │ │ ├── CountdownStatus.tsx │ │ ├── DateRangeDisplay.tsx │ │ ├── DeleteButton.tsx │ │ ├── DurationDisplay.tsx │ │ ├── ErrorDetail.tsx │ │ ├── FetchErrorFallback.tsx │ │ ├── Icons.tsx │ │ ├── InsertDialog.tsx │ │ ├── IntersectionArea.tsx │ │ ├── KatexContent.tsx │ │ ├── LevelBadge.tsx │ │ ├── Modal.tsx │ │ ├── ModalInput.tsx │ │ ├── ModalList.tsx │ │ ├── ModalSection.tsx │ │ ├── Paginator.tsx │ │ ├── PaginatorV2.tsx │ │ ├── SideBar.tsx │ │ ├── TanstackQueryErrorBoundary.tsx │ │ ├── TextEditor.tsx │ │ ├── TimeStatusBadge.tsx │ │ ├── auth │ │ │ ├── AccountItems.tsx │ │ │ ├── AuthLabel.tsx │ │ │ ├── AuthMessage.tsx │ │ │ ├── AuthModal.tsx │ │ │ ├── AuthProvider.tsx │ │ │ ├── HeaderAuthPanel.tsx │ │ │ ├── MobileMenu.tsx │ │ │ ├── RecoverAccount │ │ │ │ ├── FindUserId.tsx │ │ │ │ ├── RecoverAccount.tsx │ │ │ │ ├── ResetPassword.tsx │ │ │ │ └── ResetPasswordEmailVerify.tsx │ │ │ ├── SignIn.tsx │ │ │ ├── SignUp │ │ │ │ ├── SignUp.tsx │ │ │ │ ├── SignUpRegisterAccount.tsx │ │ │ │ ├── SignUpRegisterInfo.tsx │ │ │ │ ├── SignUpRegisterMajor.tsx │ │ │ │ ├── SignUpSendEmail.tsx │ │ │ │ ├── SignUpVerifyEmail.tsx │ │ │ │ ├── SignUpWelcome.tsx │ │ │ │ └── api.ts │ │ │ └── UpdateInformation.tsx │ │ ├── notification │ │ │ ├── NotificationDropdown.tsx │ │ │ ├── NotificationOptionsMenu.tsx │ │ │ └── PushPermissionModal.tsx │ │ └── shadcn │ │ │ ├── accordion.tsx │ │ │ ├── alert-dialog.tsx │ │ │ ├── alert.tsx │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── calendar.tsx │ │ │ ├── card.tsx │ │ │ ├── carousel.tsx │ │ │ ├── chart.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── command.tsx │ │ │ ├── date-time-picker-demo.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── form.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── pagination.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── sonner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── time-picker-demo.tsx │ │ │ ├── time-picker-input.tsx │ │ │ ├── time-picker-utils.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ ├── graphql │ │ ├── assignment │ │ │ ├── mutations.ts │ │ │ └── queries.ts │ │ ├── contest │ │ │ ├── mutations.ts │ │ │ └── queries.ts │ │ ├── course │ │ │ ├── mutation.ts │ │ │ └── queries.ts │ │ ├── leaderboard │ │ │ └── queries.ts │ │ ├── notice │ │ │ ├── mutation.ts │ │ │ └── queries.ts │ │ ├── problem │ │ │ ├── mutations.ts │ │ │ └── queries.ts │ │ ├── submission │ │ │ ├── mutations.ts │ │ │ └── queries.ts │ │ └── user │ │ │ ├── mutation.ts │ │ │ └── queries.ts │ ├── libs │ │ ├── apiError.ts │ │ ├── auth.ts │ │ ├── auth │ │ │ ├── authOptions.ts │ │ │ ├── authorize.spec.ts │ │ │ ├── authorize.ts │ │ │ ├── getClientSession.spec.ts │ │ │ ├── getClientSession.ts │ │ │ ├── getJWTExpire.spec.ts │ │ │ ├── getJWTExpire.ts │ │ │ ├── getJWTFromResponse.spec.ts │ │ │ ├── getJWTFromResponse.ts │ │ │ └── getServerSession.ts │ │ ├── captureError.ts │ │ ├── constants.ts │ │ ├── hooks │ │ │ ├── useFeatureFlag.ts │ │ │ ├── usePagination.ts │ │ │ ├── usePaginationV2.ts │ │ │ ├── useSession.ts │ │ │ └── useWindowSize.ts │ │ ├── instagram.ts │ │ ├── posthog.server.ts │ │ ├── push-subscription.ts │ │ ├── renderKatex.ts │ │ └── utils.ts │ ├── middleware.ts │ ├── mocks │ │ ├── handlers.ts │ │ └── node.ts │ ├── next-env.d.ts │ ├── next.config.ts │ ├── package.json │ ├── playwright.config.ts │ ├── playwright │ │ ├── test-results │ │ │ └── .last-run.json │ │ └── tests │ │ │ ├── admin │ │ │ ├── auth.setup.ts │ │ │ └── home.test.ts │ │ │ ├── non-auth │ │ │ └── problem.test.ts │ │ │ └── user │ │ │ └── auth.setup.ts │ ├── postcss.config.js │ ├── public │ │ ├── Whitelist_Sample.csv │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-512x512.png │ │ ├── android-maskable-1024x1024.png │ │ ├── android-maskable-192x192.png │ │ ├── android-maskable-512x512.png │ │ ├── apple_splash_screens │ │ │ ├── 10.2__iPad_landscape.png │ │ │ ├── 10.2__iPad_portrait.png │ │ │ ├── 10.5__iPad_Air_landscape.png │ │ │ ├── 10.5__iPad_Air_portrait.png │ │ │ ├── 10.9__iPad_Air_landscape.png │ │ │ ├── 10.9__iPad_Air_portrait.png │ │ │ ├── 11__iPad_Pro_M4_landscape.png │ │ │ ├── 11__iPad_Pro_M4_portrait.png │ │ │ ├── 11__iPad_Pro__10.5__iPad_Pro_landscape.png │ │ │ ├── 11__iPad_Pro__10.5__iPad_Pro_portrait.png │ │ │ ├── 12.9__iPad_Pro_landscape.png │ │ │ ├── 12.9__iPad_Pro_portrait.png │ │ │ ├── 13__iPad_Pro_M4_landscape.png │ │ │ ├── 13__iPad_Pro_M4_portrait.png │ │ │ ├── 4__iPhone_SE__iPod_touch_5th_generation_and_later_landscape.png │ │ │ ├── 4__iPhone_SE__iPod_touch_5th_generation_and_later_portrait.png │ │ │ ├── 8.3__iPad_Mini_landscape.png │ │ │ ├── 8.3__iPad_Mini_portrait.png │ │ │ ├── 9.7__iPad_Pro__7.9__iPad_mini__9.7__iPad_Air__9.7__iPad_landscape.png │ │ │ ├── 9.7__iPad_Pro__7.9__iPad_mini__9.7__iPad_Air__9.7__iPad_portrait.png │ │ │ ├── iPhone_11_Pro_Max__iPhone_XS_Max_landscape.png │ │ │ ├── iPhone_11_Pro_Max__iPhone_XS_Max_portrait.png │ │ │ ├── iPhone_11__iPhone_XR_landscape.png │ │ │ ├── iPhone_11__iPhone_XR_portrait.png │ │ │ ├── iPhone_13_mini__iPhone_12_mini__iPhone_11_Pro__iPhone_XS__iPhone_X_landscape.png │ │ │ ├── iPhone_13_mini__iPhone_12_mini__iPhone_11_Pro__iPhone_XS__iPhone_X_portrait.png │ │ │ ├── iPhone_14_Plus__iPhone_13_Pro_Max__iPhone_12_Pro_Max_landscape.png │ │ │ ├── iPhone_14_Plus__iPhone_13_Pro_Max__iPhone_12_Pro_Max_portrait.png │ │ │ ├── iPhone_16_Plus__iPhone_15_Pro_Max__iPhone_15_Plus__iPhone_14_Pro_Max_landscape.png │ │ │ ├── iPhone_16_Plus__iPhone_15_Pro_Max__iPhone_15_Plus__iPhone_14_Pro_Max_portrait.png │ │ │ ├── iPhone_16_Pro_Max_landscape.png │ │ │ ├── iPhone_16_Pro_Max_portrait.png │ │ │ ├── iPhone_16_Pro_landscape.png │ │ │ ├── iPhone_16_Pro_portrait.png │ │ │ ├── iPhone_16__iPhone_15_Pro__iPhone_15__iPhone_14_Pro_landscape.png │ │ │ ├── iPhone_16__iPhone_15_Pro__iPhone_15__iPhone_14_Pro_portrait.png │ │ │ ├── iPhone_16e__iPhone_14__iPhone_13_Pro__iPhone_13__iPhone_12_Pro__iPhone_12_landscape.png │ │ │ ├── iPhone_16e__iPhone_14__iPhone_13_Pro__iPhone_13__iPhone_12_Pro__iPhone_12_portrait.png │ │ │ ├── iPhone_8_Plus__iPhone_7_Plus__iPhone_6s_Plus__iPhone_6_Plus_landscape.png │ │ │ ├── iPhone_8_Plus__iPhone_7_Plus__iPhone_6s_Plus__iPhone_6_Plus_portrait.png │ │ │ ├── iPhone_8__iPhone_7__iPhone_6s__iPhone_6__4.7__iPhone_SE_landscape.png │ │ │ └── iPhone_8__iPhone_7__iPhone_6s__iPhone_6__4.7__iPhone_SE_portrait.png │ │ ├── banners │ │ │ ├── about-contest.svg │ │ │ ├── assignment-sub.png │ │ │ ├── book.png │ │ │ ├── bug.png │ │ │ ├── codedang-carousel.png │ │ │ ├── codedang.png │ │ │ ├── computer.png │ │ │ ├── contest.png │ │ │ ├── contestInnerBanner.png │ │ │ ├── course.png │ │ │ ├── courseInnerBanner.png │ │ │ ├── github.png │ │ │ ├── learn-with-courses.svg │ │ │ ├── main_banner.png │ │ │ ├── mainpage_middle_banner.png │ │ │ ├── notebook.png │ │ │ ├── notice.png │ │ │ ├── noticeInnerBanner.png │ │ │ ├── practice-with-real-problems-bg.svg │ │ │ ├── practice-with-real-problems.svg │ │ │ ├── problemInnerBanner.png │ │ │ ├── stay-informed.svg │ │ │ ├── trophy-main.png │ │ │ └── trophy-sub.png │ │ ├── captures │ │ │ ├── statistics-chart.gif │ │ │ ├── statistics-leaderboard.gif │ │ │ └── statistics-submissions.gif │ │ ├── icons │ │ │ ├── arrow-bottom.svg │ │ │ ├── arrow-down.svg │ │ │ ├── arrow-icon.svg │ │ │ ├── arrow-left-full.svg │ │ │ ├── arrow-left.svg │ │ │ ├── arrow-right-full.svg │ │ │ ├── arrow-right-gray.svg │ │ │ ├── arrow-right-white.svg │ │ │ ├── arrow-right.svg │ │ │ ├── assignment.svg │ │ │ ├── bottom-center.svg │ │ │ ├── calendar.svg │ │ │ ├── calendar_blue.svg │ │ │ ├── check-blue.svg │ │ │ ├── check-box.svg │ │ │ ├── check-darkgray.svg │ │ │ ├── check-gray.svg │ │ │ ├── check-green.svg │ │ │ ├── check-white.svg │ │ │ ├── check.svg │ │ │ ├── clock.svg │ │ │ ├── clock_blue.svg │ │ │ ├── clock_red.svg │ │ │ ├── codeLaptop.svg │ │ │ ├── compile-version.svg │ │ │ ├── copy-blue.svg │ │ │ ├── copy-complete.svg │ │ │ ├── copy.svg │ │ │ ├── course-sidebar.svg │ │ │ ├── detail-on-mobile.svg │ │ │ ├── email-symbol.svg │ │ │ ├── emergency.svg │ │ │ ├── exam.svg │ │ │ ├── excel.svg │ │ │ ├── exit.svg │ │ │ ├── exit2.svg │ │ │ ├── file-info-gray.svg │ │ │ ├── file-info.svg │ │ │ ├── file-pen.svg │ │ │ ├── finished.svg │ │ │ ├── grade-detail.svg │ │ │ ├── grade.svg │ │ │ ├── home.svg │ │ │ ├── icon-info-blue.svg │ │ │ ├── image-upload.svg │ │ │ ├── info-gray.svg │ │ │ ├── info-icon.svg │ │ │ ├── info.svg │ │ │ ├── instagram-logo.svg │ │ │ ├── invisible-orange.svg │ │ │ ├── invisible.svg │ │ │ ├── key-blue.svg │ │ │ ├── login-mobile.svg │ │ │ ├── logout-mobile.svg │ │ │ ├── mail-line.svg │ │ │ ├── maximize.svg │ │ │ ├── medal-bronze.svg │ │ │ ├── medal-gold.svg │ │ │ ├── medal-silver.svg │ │ │ ├── member.svg │ │ │ ├── more.svg │ │ │ ├── notice.svg │ │ │ ├── notification.svg │ │ │ ├── ongoing.svg │ │ │ ├── pen.svg │ │ │ ├── person-fill.svg │ │ │ ├── person.svg │ │ │ ├── plus-circle-white.svg │ │ │ ├── plus-circle.svg │ │ │ ├── plus-line.svg │ │ │ ├── prize.svg │ │ │ ├── problem-sidebar.svg │ │ │ ├── qna.svg │ │ │ ├── quarter-ellipse.svg │ │ │ ├── redclock.svg │ │ │ ├── reset.svg │ │ │ ├── search.svg │ │ │ ├── see-submission.svg │ │ │ ├── settings.svg │ │ │ ├── submit.svg │ │ │ ├── subtract.svg │ │ │ ├── sync.svg │ │ │ ├── task-complete.svg │ │ │ ├── texteditor-bold.svg │ │ │ ├── texteditor-bulletlist.svg │ │ │ ├── texteditor-code.svg │ │ │ ├── texteditor-codeblock.svg │ │ │ ├── texteditor-equation.svg │ │ │ ├── texteditor-expand.svg │ │ │ ├── texteditor-file.svg │ │ │ ├── texteditor-h1.svg │ │ │ ├── texteditor-h2.svg │ │ │ ├── texteditor-h3.svg │ │ │ ├── texteditor-image.svg │ │ │ ├── texteditor-italic.svg │ │ │ ├── texteditor-link.svg │ │ │ ├── texteditor-numberedlist.svg │ │ │ ├── texteditor-redo.svg │ │ │ ├── texteditor-shrink.svg │ │ │ ├── texteditor-stikethrough.svg │ │ │ ├── texteditor-table.svg │ │ │ ├── texteditor-underline.svg │ │ │ ├── texteditor-undo.svg │ │ │ ├── trashcan.svg │ │ │ ├── trashcan2-red.svg │ │ │ ├── upcoming.svg │ │ │ ├── upload.svg │ │ │ ├── visible.svg │ │ │ └── visit.svg │ │ ├── logos │ │ │ ├── codedang-badge.png │ │ │ ├── codedang-editor.svg │ │ │ ├── codedang-rotated.svg │ │ │ ├── codedang-with-text.svg │ │ │ ├── coming-soon.png │ │ │ ├── error.webp │ │ │ ├── excel.png │ │ │ ├── please.png │ │ │ ├── transparent.png │ │ │ ├── welcome.png │ │ │ └── welcomeNobg.png │ │ └── sample.xlsx │ ├── stores │ │ ├── authModal.ts │ │ ├── editor.ts │ │ ├── editorTabs.ts │ │ ├── recoverAccountModal.ts │ │ ├── signUpModal.ts │ │ └── testcaseStore.ts │ ├── tailwind.config.ts │ ├── tsconfig.json │ ├── types │ │ ├── instagram.d.ts │ │ ├── next-auth.d.ts │ │ └── type.ts │ ├── vitest.config.ts │ ├── vitest.setup.ts │ └── worker │ │ └── index.js ├── iris │ ├── .env.example │ ├── .sdkmanrc │ ├── Dockerfile │ ├── LICENSE │ ├── entrypoint.sh │ ├── go.mod │ ├── go.sum │ ├── lib │ │ └── judger │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── policy │ │ │ └── java_policy │ ├── main.go │ ├── src │ │ ├── common │ │ │ ├── constants │ │ │ │ └── constants.go │ │ │ └── result │ │ │ │ └── chResult.go │ │ ├── connector │ │ │ ├── factory.go │ │ │ ├── http │ │ │ │ └── connector.go │ │ │ ├── interface.go │ │ │ └── rabbitmq │ │ │ │ ├── client.go │ │ │ │ ├── connector.go │ │ │ │ ├── consumer.go │ │ │ │ ├── converter.go │ │ │ │ └── producer.go │ │ ├── handler │ │ │ ├── errors.go │ │ │ ├── interface.go │ │ │ ├── judge-handler.go │ │ │ ├── judge-handler_test.go │ │ │ └── resultCode.go │ │ ├── instrumentation.go │ │ ├── loader │ │ │ ├── element.go │ │ │ ├── postgres.go │ │ │ └── s3.go │ │ ├── router │ │ │ ├── response.go │ │ │ └── router.go │ │ ├── service │ │ │ ├── file │ │ │ │ └── manager.go │ │ │ ├── grader │ │ │ │ └── grader.go │ │ │ ├── logger │ │ │ │ └── logger.go │ │ │ ├── sandbox │ │ │ │ ├── compiler.go │ │ │ │ ├── judger │ │ │ │ │ ├── compiler.go │ │ │ │ │ ├── exec.go │ │ │ │ │ ├── impl.go │ │ │ │ │ ├── langConfig.go │ │ │ │ │ ├── resultCode.go │ │ │ │ │ └── runner.go │ │ │ │ ├── langConfig.go │ │ │ │ ├── runner.go │ │ │ │ ├── sandbox.go │ │ │ │ └── statusCode.go │ │ │ └── testcase │ │ │ │ ├── data.go │ │ │ │ └── manager.go │ │ └── utils │ │ │ ├── get_env.go │ │ │ └── rand_string.go │ └── tests │ │ └── data │ │ ├── submission │ │ ├── 1_answer.json │ │ ├── 1_answer_with_usertestcase.json │ │ ├── 1_compile_error.json │ │ ├── 1_partial_answer.json │ │ └── 1_wrong.json │ │ └── testcase │ │ ├── 1.json │ │ ├── 2.json │ │ ├── 3.json │ │ ├── 4.json │ │ ├── 5.json │ │ ├── 6.json │ │ ├── 7.json │ │ └── 8.json └── plag │ ├── .env.example │ ├── .sdkmanrc │ ├── Dockerfile │ ├── LICENSE │ ├── entrypoint.sh │ ├── go.mod │ ├── go.sum │ ├── main.go │ └── src │ ├── common │ ├── constants │ │ └── constants.go │ └── result │ │ └── chResult.go │ ├── connector │ ├── factory.go │ ├── http │ │ └── connector.go │ ├── interface.go │ └── rabbitmq │ │ ├── client.go │ │ ├── connector.go │ │ ├── consumer.go │ │ ├── converter.go │ │ └── producer.go │ ├── handler │ ├── check-handler.go │ ├── errors.go │ ├── interface.go │ └── resultCode.go │ ├── instrumentation.go │ ├── loader │ ├── element.go │ ├── postgres.go │ └── s3.go │ ├── router │ ├── response.go │ └── router.go │ ├── service │ ├── check │ │ ├── data.go │ │ └── manager.go │ ├── file │ │ └── manager.go │ ├── logger │ │ └── logger.go │ └── sandbox │ │ └── langConfig.go │ └── utils │ ├── get_env.go │ └── rand_string.go ├── collection ├── admin │ ├── Announcement │ │ ├── Create Announcement │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Nonexistent Contest.bru │ │ │ └── [ERR] Nonexistent Problem.bru │ │ ├── Get Announcement By Id │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Announcement.bru │ │ ├── Get Announcements By ContestId │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Remove Announcement │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Announcement.bru │ │ ├── Update Announcement │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Announcement.bru │ │ └── folder.bru │ ├── Check │ │ ├── Get Check Result Detail │ │ │ ├── Get Result Detail.bru │ │ │ └── folder.bru │ │ ├── Get Cluster │ │ │ ├── Get Cluster.bru │ │ │ └── folder.bru │ │ ├── Get Overview │ │ │ ├── Get Overview.bru │ │ │ └── folder.bru │ │ └── Request Check │ │ │ ├── Request Plagiarism Check.bru │ │ │ └── folder.bru │ ├── Contest │ │ ├── Create Contest QnA Comment │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Empty Content.bru │ │ │ ├── [ERR] Nonexistent Contest.bru │ │ │ └── [ERR] Nonexistent ContestQnA.bru │ │ ├── Create Contest │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Already Admin ContestRole.bru │ │ │ ├── [ERR] Create Contest Not Allowed.bru │ │ │ ├── [ERR] EndTime Earlier than StartTime.bru │ │ │ ├── [ERR] Invalid Contest Role.bru │ │ │ ├── [ERR] Multiple ContestRoles Not Allowed.bru │ │ │ ├── [ERR] Required Fields Not Entered.bru │ │ │ ├── [ERR] StartTime Earlier than RegisterDueTime.bru │ │ │ └── [ERR] Summary should be String.bru │ │ ├── Delete Contest QnA Comment │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Nonexistent ContestQnA.bru │ │ │ └── [ERR] Nonexistent ContestQnAComment.bru │ │ ├── Delete Contest QnA │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent ContestQnA.bru │ │ ├── Delete Contest │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Get Contest Leaderboard │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Get Contest Participants │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Get Contest QnA │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent ContestQnA.bru │ │ ├── Get Contest QnAs │ │ │ ├── Succeed (with Filter).bru │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Get Contest Roles │ │ │ └── Succeed.bru │ │ ├── Get Contest Score Summaries │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Get Contest Submission Summary by User Id │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Nonexistent Contest.bru │ │ │ └── [ERR] Nonexistent User.bru │ │ ├── Get Contest Update Histories │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Get Contest │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Get Contests by Problem ID │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Nonexistent Problem.bru │ │ ├── Get Contests │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Unauthorized User.bru │ │ ├── Import Problems to Contest │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Nonexistent Contest.bru │ │ │ └── [ERR] Nonexistent Problem.bru │ │ ├── Remove Problems From Contest │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Nonexistent Contest Problem.bru │ │ │ └── [ERR] Nonexistent Contest.bru │ │ ├── Remove User From Contest │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Nonexistent Contest.bru │ │ │ ├── [ERR] Nonexistent ContestRecord.bru │ │ │ ├── [ERR] Not Contest Staff.bru │ │ │ └── [ERR] Started Contest.bru │ │ ├── Update Contest QnA Resolved │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] Nonexistent ContestQnA.bru │ │ │ └── [ERR] Nonexistent ContestQnAComment.bru │ │ └── Update Contest │ │ │ ├── Succeed.bru │ │ │ ├── [ERR] EndTime Earlier than StartTime.bru │ │ │ ├── [ERR] FreezeTime Earlier than Previous Value.bru │ │ │ ├── [ERR] Invalid Unfreeze.bru │ │ │ ├── [ERR] Nonexistent Contest.bru │ │ │ └── [ERR] StartTime Earlier than RegisterDueTime.bru │ ├── Course │ │ ├── Clone Course Notices │ │ │ └── Succeed.bru │ │ ├── Create Course Notice │ │ │ └── Succeed.bru │ │ ├── Delete Course Notice │ │ │ └── Succeed.bru │ │ ├── Get Courses │ │ │ ├── Succeed.bru │ │ │ └── [ERR] Invalid Cursor.bru │ │ └── Update Course Notice │ │ │ └── Succeed.bru │ ├── Notice │ │ ├── Create Notice │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Delete Notice │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Get Notices │ │ │ └── Succeed.bru │ │ ├── Get a Notice │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ └── Update Notice │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ ├── Problem │ │ ├── Create Problem │ │ │ ├── ._Succeed.bru │ │ │ ├── Succeed.bru │ │ │ ├── UNPROCESSABLE (1).bru │ │ │ └── UNPROCESSABLE (2).bru │ │ ├── Create Testcases │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Create a Tag │ │ │ ├── CONFLICT.bru │ │ │ └── Succeed.bru │ │ ├── Delete File │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Delete a Problem │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Delete a Tag │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Download Problems │ │ │ ├── Nonexistent Problem.bru │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Get AssignmentProblems │ │ │ ├── ._NOT_FOUND.bru │ │ │ ├── ._Succeed.bru │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Get ContestProblems │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Get Problems │ │ │ └── Succeed.bru │ │ ├── Get Tags │ │ │ └── Succeed.bru │ │ ├── Get WorkbookProblems │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Get a Problem │ │ │ ├── ._Succeed.bru │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Get a Testcase │ │ │ ├── NOT_FOUND.bru │ │ │ └── Succeed.bru │ │ ├── Update AssignmentProblems Order │ │ │ ├── NOT_FOUND.bru │ │ │ ├── Succeed.bru │ │ │ └── UNPROCESSABLE.bru │ │ ├── Update AssignmentProblems Score │ │ │ ├── ._Succeed.bru │ │ │ ├── ._folder.bru │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Update ContestProblems Order │ │ │ ├── NOT_FOUND.bru │ │ │ ├── Succeed.bru │ │ │ └── UNPROCESSABLE.bru │ │ ├── Update ContestProblems Score │ │ │ └── Succeed.bru │ │ ├── Update WorkbookProblems Order │ │ │ ├── NOT_FOUND.bru │ │ │ ├── Succeed.bru │ │ │ └── UNPROCESSABLE.bru │ │ ├── Update a Problem │ │ │ ├── ._Succeed.bru │ │ │ ├── Succeed.bru │ │ │ ├── UNPROCESSABLE (1).bru │ │ │ ├── UNPROCESSABLE (2).bru │ │ │ └── UNPROCESSABLE (3).bru │ │ ├── Upload File │ │ │ ├── Succeed.bru │ │ │ └── sample.pdf │ │ ├── Upload Image │ │ │ ├── Succeed.bru │ │ │ └── sample.png │ │ ├── Upload Problem │ │ │ └── Succeed.bru │ │ ├── Upload Testcase Zip Legacy │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Upload Testcase Zip │ │ │ ├── Succeed.bru │ │ │ ├── folder.bru │ │ │ └── sample.zip │ │ └── Upload Testcase │ │ │ └── Succeed.bru │ ├── Submission │ │ ├── Download SourceCode from URL │ │ │ └── Succeed.bru │ │ ├── Get Contest Submissions │ │ │ └── Succeed.bru │ │ ├── Get Submission Detail │ │ │ └── Succeed.bru │ │ ├── Get Submission Result │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Get Submissions │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Problem.bru │ │ ├── Get URL for downloading SourceCode │ │ │ └── Succeed.bru │ │ └── Rejudge Problem │ │ │ ├── Succeed.bru │ │ │ └── Succeed2.bru │ ├── User │ │ ├── Get Users │ │ │ └── Succeed.bru │ │ └── Update Creation Permission │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ ├── bruno.json │ ├── collection.bru │ ├── environments │ │ ├── Local.bru │ │ └── Stage.bru │ └── login.js ├── client │ ├── Announcement │ │ └── Get Announcements │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Contest.bru │ ├── Assignment │ │ ├── Get Anonymized Scores │ │ │ └── Succeed.bru │ │ ├── Get My Assignment Problem Record │ │ │ └── Succeed.bru │ │ ├── Get My Assignments Summary │ │ │ ├── ._Succeed.bru │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Get assignment by ID │ │ │ ├── Succeed.bru │ │ │ └── [404] Assignment does not exist.bru │ │ ├── Get assignments │ │ │ ├── ._Succeed.bru │ │ │ └── Succeed.bru │ │ ├── Participate All Ongoing Assignments │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ ├── Participate Assignment │ │ │ ├── Succeed.bru │ │ │ ├── [404] Nonexistent assignment.bru │ │ │ ├── [409] Already participated.bru │ │ │ ├── [409] Ended assignment.bru │ │ │ └── [409] Invalid Invitation Code.bru │ │ └── Unregister Assignment │ │ │ ├── Succeed.bru │ │ │ ├── [403] Cannot unregister ongoing or ended assignment.bru │ │ │ ├── [404] No Assignment found.bru │ │ │ └── [404] No AssignmentRecord found.bru │ ├── Auth │ │ ├── Log In │ │ │ ├── Succeed.bru │ │ │ ├── [400] Empty Field.bru │ │ │ ├── [401] Incorrect Password.bru │ │ │ └── [401] Nonexistent User.bru │ │ ├── Log Out │ │ │ ├── Succeed.bru │ │ │ └── [401] Invalid Token.bru │ │ └── Reissue Token │ │ │ ├── Succeed.bru │ │ │ └── [401] Invalid Token.bru │ ├── Contest │ │ ├── Create Contest QnA Comment │ │ │ ├── Succeed.bru │ │ │ ├── [401] Cannot comment without logging in.bru │ │ │ ├── [403] Cannot Comment Others QnA During Contest.bru │ │ │ └── [404] Nonexistent ContestQnA.bru │ │ ├── Create Contest QnA │ │ │ ├── Succeed(General).bru │ │ │ ├── Succeed(Problem).bru │ │ │ ├── [401] Cannot post QnA without logging in.bru │ │ │ ├── [403] Only participants can write QnA during contest.bru │ │ │ ├── [404] Nonexistent Contest.bru │ │ │ └── [404] Nonexistent ContestProblem.bru │ │ ├── Delete Contest QnA Comment │ │ │ ├── Succeed.bru │ │ │ ├── [401] Cannot delete Comment without logging in.bru │ │ │ ├── [403] Cannot delete others Comment.bru │ │ │ ├── [404] Nonexistent Contest QnA Comment.bru │ │ │ ├── [404] Nonexistent Contest QnA.bru │ │ │ └── [404] Nonexistent Contest.bru │ │ ├── Delete Contest QnA │ │ │ ├── Succeed.bru │ │ │ ├── [401] Cannot delete QnA without logging in.bru │ │ │ ├── [403] Cannot delete others QnA.bru │ │ │ ├── [404] Nonexistent Contest QnA.bru │ │ │ └── [404] Nonexistent Contest.bru │ │ ├── Get Banner Contests │ │ │ └── Succeed.bru │ │ ├── Get Contest Problems │ │ │ ├── Succeed.bru │ │ │ ├── [403] Contest does not ended.bru │ │ │ ├── [404] Nonexistent Contest.bru │ │ │ └── folder.bru │ │ ├── Get Contest QnA │ │ │ ├── Succeed.bru │ │ │ └── [403] Cannot access to others QnA during contest.bru │ │ ├── Get Contest QnAs │ │ │ ├── Succeed.bru │ │ │ ├── [403] Cannot access QnAs in ongoing contest without logging in.bru │ │ │ └── [404] Nonexistent Contest.bru │ │ ├── Get Contest Roles │ │ │ └── Succeed.bru │ │ ├── Get Contests │ │ │ └── Succeed.bru │ │ ├── Get Leaderboard │ │ │ └── Succeed.bru │ │ ├── Get Statistics By Problem │ │ │ ├── Succeed.bru │ │ │ ├── [403] Contest does not ended.bru │ │ │ ├── [404] Nonexistent Contest Problem.bru │ │ │ ├── [404] Nonexistent Contest.bru │ │ │ └── folder.bru │ │ ├── Get contest by ID │ │ │ ├── Succeed.bru │ │ │ └── [404] Contest does not exist.bru │ │ ├── Register Contest │ │ │ ├── Succeed.bru │ │ │ ├── [404] Nonexistent Contest.bru │ │ │ ├── [409] Already Participated.bru │ │ │ ├── [409] Invalid Invitation Code.bru │ │ │ └── [409] Registration closed.bru │ │ └── Unregister Contest │ │ │ ├── Succeed.bru │ │ │ ├── [403] Cannot unregister ongoing or ended contest.bru │ │ │ ├── [404] No Contest found.bru │ │ │ └── [404] No ContestRecord found.bru │ ├── Course │ │ ├── Create course notice comment │ │ │ └── Succeed.bru │ │ ├── Delete course notice comment │ │ │ └── Succeed.bru │ │ ├── Get Course by ID │ │ │ └── Succeed.bru │ │ ├── Get Course by Invitation │ │ │ └── Succeed.bru │ │ ├── Get Joined Courses │ │ │ └── Succeed.bru │ │ ├── Get all course notices │ │ │ └── Succeed.bru │ │ ├── Get course notice by ID │ │ │ └── Succeed.bru │ │ ├── Get course notice comments │ │ │ └── Succeed.bru │ │ ├── Get latest course notice │ │ │ └── Succeed.bru │ │ ├── Get unread course notice count │ │ │ └── Succeed.bru │ │ ├── Join course by id │ │ │ └── Succeed.bru │ │ ├── Leave course │ │ │ └── Succeed.bru │ │ └── Modify course notice comment │ │ │ └── Succeed.bru │ ├── Group │ │ ├── Get Groups │ │ │ ├── Succeed.bru │ │ │ └── [400] Invalid Cursor.bru │ │ ├── Get Joined Groups │ │ │ └── Succeed.bru │ │ ├── Get group leaders │ │ │ ├── Succeed.bru │ │ │ └── [403] Forbidden.bru │ │ ├── Get group members │ │ │ ├── Succeed.bru │ │ │ └── [403] Forbidden.bru │ │ └── Join group by id │ │ │ └── Succeed (Approval Required).bru │ ├── Notice │ │ ├── Get Contest Problems │ │ │ ├── Succeed.bru │ │ │ ├── [403] Registered but Not Started.bru │ │ │ ├── [403] Unregistered and Not Finished.bru │ │ │ └── [404] Nonexistent Contest.bru │ │ ├── Get all notices │ │ │ └── Succeed.bru │ │ └── Get notice by ID │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Notice.bru │ ├── Notification │ │ ├── Delete Notification │ │ │ ├── Succeed.bru │ │ │ └── [404] NotificationRecord Not Found.bru │ │ ├── Get Notifications │ │ │ └── Succeed.bru │ │ ├── Get Unread Count │ │ │ └── Succeed.bru │ │ ├── Mark All As Read │ │ │ └── Succeed.bru │ │ ├── Mark As Read │ │ │ ├── Succeed.bru │ │ │ └── [404] NotificationRecord Not Found.bru │ │ └── folder.bru │ ├── Problem │ │ ├── Get Assignment Problem by ID │ │ │ ├── Succeed.bru │ │ │ ├── [403] Registered but not started.bru │ │ │ ├── [403] Unregistered and not finished.bru │ │ │ ├── [404] Nonexistent Assignment Problem.bru │ │ │ └── folder.bru │ │ ├── Get Assignment Problems │ │ │ ├── Succeed.bru │ │ │ ├── [403] Registered but Not Started.bru │ │ │ ├── [403] Unregistered and Not Finished.bru │ │ │ ├── [404] Nonexistent Contest.bru │ │ │ └── folder.bru │ │ ├── Get Code Draft │ │ │ ├── Succeed.bru │ │ │ ├── [404] Not Found.bru │ │ │ └── folder.bru │ │ ├── Get Contest Problem by ID │ │ │ ├── Succeed.bru │ │ │ ├── [403] Registered but not started.bru │ │ │ ├── [403] Unregistered and not finished.bru │ │ │ ├── [404] Nonexistent Contest Problem.bru │ │ │ └── folder.bru │ │ ├── Get problem by ID │ │ │ ├── Succeed.bru │ │ │ ├── [404] Nonexistent Problem.bru │ │ │ └── folder.bru │ │ ├── Get problems │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ └── Upsert Code Draft │ │ │ ├── Succeed.bru │ │ │ ├── [404] Not Found.bru │ │ │ └── folder.bru │ ├── Push Subscription │ │ ├── Create Push Subscription │ │ │ └── Succeed.bru │ │ ├── Delete All Push Subscriptions │ │ │ └── Succeed.bru │ │ ├── Delete Push Subscription │ │ │ └── Succeed.bru │ │ ├── Get Push Subscriptions │ │ │ ├── Succeed.bru │ │ │ └── folder.bru │ │ └── Get VAPID Public Key │ │ │ └── Succeed.bru │ ├── Submission │ │ ├── Check Delay │ │ │ └── Succeed.bru │ │ ├── Create Assignment Submission │ │ │ ├── Succeed.bru │ │ │ ├── [404] No Assignment found.bru │ │ │ ├── [Succeed] Assignment(AC).bru │ │ │ ├── [Succeed] Assignment(TLE).bru │ │ │ └── [Succeed] Assignment(WA).bru │ │ ├── Create Contest Submission │ │ │ ├── Succeed.bru │ │ │ ├── [404] No Contest found.bru │ │ │ ├── [Succeed] Contest(AC).bru │ │ │ ├── [Succeed] Contest(TLE).bru │ │ │ └── [Succeed] Contest(WA).bru │ │ ├── Get Assignment Submission Summary │ │ │ ├── Succeed.bru │ │ │ ├── [403] Non participating assignment.bru │ │ │ └── folder.bru │ │ ├── Get Assignment Submissions │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Problem.bru │ │ ├── Get Contest Submissions │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Problem.bru │ │ ├── Get Latest Assignment Problem Submission │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Submission.bru │ │ ├── Get Submission by ID │ │ │ ├── Succeed.bru │ │ │ ├── [403] Forbidden.bru │ │ │ ├── [404] Nonexistent Problem.bru │ │ │ └── [404] Nonexistent Submission.bru │ │ ├── Get Submissions │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Problem.bru │ │ ├── Get Test Results │ │ │ └── Succeed.bru │ │ ├── Get User Test Results │ │ │ └── Succeed.bru │ │ ├── Submit Test │ │ │ └── Succeed.bru │ │ └── Submit User Test │ │ │ └── Succeed.bru │ ├── User │ │ ├── (TODO) Send Pin for Password Reset │ │ │ └── Succeed.bru │ │ ├── Check Duplicated Username │ │ │ ├── Succeed.bru │ │ │ └── [409] Duplicated Username.bru │ │ ├── Delete Own Account │ │ │ ├── Succeed.bru │ │ │ └── [401] Incorrect Password.bru │ │ ├── Get User Profile │ │ │ ├── Succeed.bru │ │ │ └── [401] Unauthorized.bru │ │ ├── Get Username by Email │ │ │ ├── Succeed.bru │ │ │ └── [404] Not Found.bru │ │ ├── Reset Password │ │ │ ├── Succeed.bru │ │ │ ├── [401] Unauthorized.bru │ │ │ └── [422] Bad Password.bru │ │ ├── Send Pin for Password Reset │ │ │ ├── Succeed.bru │ │ │ └── [401] Unauthorized.bru │ │ ├── Send Pin to New Email │ │ │ ├── Succeed.bru │ │ │ └── [422] Duplicate Email.bru │ │ ├── Sign Up │ │ │ ├── Succeed.bru │ │ │ ├── [400] Bad Username.bru │ │ │ ├── [401] Unauthorized.bru │ │ │ ├── [409] Duplicate Username.bru │ │ │ ├── [422] Bad Password.bru │ │ │ └── [422] Not Authenticated.bru │ │ ├── Update Email │ │ │ ├── Succeed.bru │ │ │ └── [401] Unauthorized.bru │ │ ├── Update User │ │ │ ├── Optionally update.bru │ │ │ ├── Update All Fields of User.bru │ │ │ ├── [401] Incorrect current password.bru │ │ │ └── [422] current password needed to change password.bru │ │ └── Verify Pin and Issue Jwt │ │ │ ├── Succeed.bru │ │ │ └── [401] Invalid Pin.bru │ ├── Workbook │ │ ├── Get Workbook by ID │ │ │ ├── Succeed.bru │ │ │ └── [404] Nonexistent Workbook.bru │ │ └── Get Workbooks │ │ │ ├── Succeed.bru │ │ │ ├── [400] Invalid Cursor Value.bru │ │ │ └── [400] Validation Failed.bru │ ├── bruno.json │ ├── collection.bru │ ├── environments │ │ ├── Local.bru │ │ └── Stage.bru │ └── login.js └── instructor │ ├── Assignment │ ├── Auto Finalize Score │ │ ├── Succeed.bru │ │ ├── [404] Nonexistent Assignment.bru │ │ └── folder.bru │ ├── Create Assignment │ │ ├── ._Succeed.bru │ │ ├── Succeed.bru │ │ ├── [ERR] End Time Earlier than Start Time.bru │ │ └── [ERR] Nonexistent Group.bru │ ├── Create Publicizing Request │ │ ├── Succeed.bru │ │ ├── [ERR] Duplicated Publicizing Request.bru │ │ └── [ERR] Request Publicizing to OpenSpace.bru │ ├── Delete Assignment │ │ ├── Succeed.bru │ │ └── [ERR] Nonexistent Assignment.bru │ ├── Duplicate Assignment │ │ └── Succeed.bru │ ├── Get Assignment Problem Record (Grade) │ │ └── Succeed.bru │ ├── Get Assignment Score Summaries │ │ └── Succeed.bru │ ├── Get Assignment Score Summary of User │ │ └── Succeed.bru │ ├── Get Assignment │ │ ├── NOT_FOUND.bru │ │ └── Succeed.bru │ ├── Get Assignments │ │ ├── ._Succeed.bru │ │ └── Succeed.bru │ ├── Get Belonged Assignments by Problem ID │ │ └── Succeed.bru │ ├── Get Publicizing Requests │ │ └── Succeed.bru │ ├── Handle Publicizing Request │ │ ├── Succeed.bru │ │ └── [ERR] Nonexistent Publicizing Request.bru │ ├── Import Problems to Assignment │ │ ├── ._Succeed.bru │ │ ├── Succeed.bru │ │ └── [ERR] Nonexistent Assignment.bru │ ├── Remove Problems From Assignment │ │ ├── ._Succeed.bru │ │ ├── Succeed.bru │ │ └── [ERR] Nonexistent Assignment.bru │ ├── Update Assignment Problem Record (Grade) │ │ └── Succeed.bru │ └── Update Assignment │ │ ├── ._Succeed.bru │ │ ├── Succeed.bru │ │ ├── [404] Nonexistent Assignment.bru │ │ └── [422] End Time Earlier than Start Time.bru │ ├── Course │ ├── Create Course │ │ └── Succeed.bru │ ├── Create Whitelist │ │ └── Succeed.bru │ ├── Delete Course │ │ └── Succeed.bru │ ├── Delete Whitelist │ │ └── Succeed.bru │ ├── Duplicate Course │ │ └── Succeed.bru │ ├── Get Course │ │ ├── Succeed.bru │ │ └── [ERR] Invalid Group ID.bru │ ├── Get Courses User Leads │ │ └── Succeed.bru │ ├── Get Whitelist │ │ └── Succeed.bru │ ├── Invite User │ │ ├── Succeed.bru │ │ └── [ERR] Nonexistent Group or User.bru │ ├── Issue Invitation │ │ ├── Succeed.bru │ │ └── [ERR] Nonexistent Group.bru │ ├── Revoke Invitation │ │ ├── Succeed.bru │ │ └── [ERR] Nonexistent Group.bru │ └── Update Course │ │ ├── Succeed.bru │ │ └── [ERR] Update OpenSpace.bru │ ├── Submission │ ├── Get Assignment Latest Submission │ │ └── Succeed.bru │ ├── Get Assignment Problem Testcase Results │ │ ├── Succeed.bru │ │ └── folder.bru │ ├── Get Assignment Submissions │ │ └── Succeed.bru │ ├── Get Submission Detail │ │ └── Succeed.bru │ └── Get Submissions │ │ ├── Succeed.bru │ │ └── [404] Nonexistent Problem.bru │ ├── User │ ├── Delete Group Member │ │ ├── BAD_REQUEST(1).bru │ │ ├── BAD_REQUEST(2).bru │ │ └── Succeed.bru │ ├── Get Group Member │ │ └── Succeed.bru │ ├── Get Group Members │ │ └── Succeed.bru │ ├── Get Join Requests │ │ └── Succeed.bru │ ├── Get User by Email or StudentId │ │ └── Succeed.bru │ ├── Handle Join Request │ │ ├── CONFLICT.bru │ │ └── Succeed.bru │ └── Update Group Member │ │ ├── BAD_REQUEST(1).bru │ │ ├── BAD_REQUEST(2).bru │ │ ├── BAD_REQUEST(3).bru │ │ ├── BAD_REQUEST(4).bru │ │ └── Succeed.bru │ ├── bruno.json │ ├── collection.bru │ ├── environments │ ├── Local.bru │ └── Stage.bru │ └── login.js ├── commitlint.config.ts ├── docker-compose.yml ├── eslint.config.mjs ├── infra ├── aws │ ├── dns │ │ ├── .terraform.lock.hcl │ │ ├── argocd.tf │ │ ├── cloud-beaver.tf │ │ ├── codedang.tf │ │ ├── docs.tf │ │ ├── k8s-dashboard.tf │ │ ├── main.tf │ │ ├── minio.tf │ │ ├── monitoring.tf │ │ ├── preview.tf │ │ └── rabbitmq.tf │ ├── instagram-token-refresh │ │ ├── .terraform.lock.hcl │ │ ├── main.tf │ │ ├── refresh-lambda.tf │ │ ├── refresh_instagram_token.mjs │ │ └── secrets-manager.tf │ ├── k8s-iam │ │ ├── .terraform.lock.hcl │ │ ├── admin-api.tf │ │ ├── client-api-stage.tf │ │ ├── client-api.tf │ │ ├── frontend.tf │ │ ├── iris.tf │ │ ├── letsencrypt.tf │ │ ├── main.tf │ │ └── plag.tf │ ├── openvpn │ │ ├── .terraform.lock.hcl │ │ ├── bootstrap.sh │ │ ├── ec2-asg.tf │ │ ├── elastic-ip.tf │ │ ├── iam-role.tf │ │ ├── main.tf │ │ ├── secrets.tf │ │ └── security-group.tf │ ├── terraform-backend │ │ ├── .terraform.lock.hcl │ │ ├── backend.tf │ │ └── main.tf │ └── vpc │ │ ├── .terraform.lock.hcl │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── route_tables.tf │ │ └── vpc.tf ├── k8s │ ├── admin-api │ │ ├── base │ │ │ ├── configmap.yaml │ │ │ ├── deployment.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ ├── rabbitmq-credentials.yaml │ │ │ └── service.yaml │ │ └── overlays │ │ │ ├── production │ │ │ ├── kustomization.yaml │ │ │ └── secrets │ │ │ │ ├── aws-credentials.yaml │ │ │ │ ├── database-credentials.yaml │ │ │ │ └── security-keys.yaml │ │ │ └── stage │ │ │ ├── configmap.yaml │ │ │ ├── cors-middleware.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ └── secrets │ │ │ ├── database-credentials.yaml │ │ │ ├── object-storage.yaml │ │ │ └── security-keys.yaml │ ├── arc │ │ ├── README.md │ │ ├── github-app-secret.yaml │ │ └── values.yaml │ ├── argocd │ │ ├── README.md │ │ ├── applications │ │ │ ├── actions-runner-controller.yaml │ │ │ ├── admin-api.yaml │ │ │ ├── arc-runner-scale-set.yaml │ │ │ ├── argocd.yaml │ │ │ ├── client-api.yaml │ │ │ ├── cloud-beaver-stage.yaml │ │ │ ├── frontend-preview.yaml │ │ │ ├── frontend.yaml │ │ │ ├── internal.yaml │ │ │ ├── iris.yaml │ │ │ ├── minio-stage.yaml │ │ │ ├── monitoring │ │ │ │ ├── grafana.yaml │ │ │ │ ├── loki.yaml │ │ │ │ ├── minio.yaml │ │ │ │ ├── otel-collector.yaml │ │ │ │ ├── prometheus.yaml │ │ │ │ ├── promtail.yaml │ │ │ │ └── tempo.yaml │ │ │ ├── plag.yaml │ │ │ ├── postgres-stage.yaml │ │ │ ├── rabbitmq.yaml │ │ │ └── redis.yaml │ │ ├── github-app-repo-creds.yaml │ │ ├── ingress.yaml │ │ ├── notifications-secret.yaml │ │ └── notifications.yaml │ ├── client-api │ │ ├── base │ │ │ ├── configmap.yaml │ │ │ ├── deployment.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ ├── rabbitmq-credentials.yaml │ │ │ └── service.yaml │ │ └── overlays │ │ │ ├── production │ │ │ ├── kustomization.yaml │ │ │ └── secrets │ │ │ │ ├── aws-credentials.yaml │ │ │ │ ├── database-credentials.yaml │ │ │ │ ├── oauth-credentials.yaml │ │ │ │ └── security-keys.yaml │ │ │ └── stage │ │ │ ├── configmap.yaml │ │ │ ├── cors-middleware.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ └── secrets │ │ │ ├── aws-credentials.yaml │ │ │ ├── database-credentials.yaml │ │ │ ├── oauth-credentials.yaml │ │ │ └── security-keys.yaml │ ├── cloud-beaver │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ ├── namespace.yaml │ │ ├── pvc.yaml │ │ └── service.yaml │ ├── frontend │ │ ├── base │ │ │ ├── configmap.yaml │ │ │ ├── deployment.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ └── service.yaml │ │ └── overlays │ │ │ ├── production │ │ │ ├── configmap.yaml │ │ │ ├── kustomization.yaml │ │ │ └── secrets │ │ │ │ ├── aws-credentials.yaml │ │ │ │ └── security-keys.yaml │ │ │ └── stage │ │ │ ├── configmap.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ └── secrets │ │ │ ├── aws-credentials.yaml │ │ │ └── security-keys.yaml │ ├── internal │ │ ├── base │ │ │ ├── admin-user.yaml │ │ │ ├── cluster-issuer-dns01.yaml │ │ │ ├── cluster-issuer-http01.yaml │ │ │ ├── dashboard-ingress.yaml │ │ │ └── kustomization.yaml │ │ └── overlays │ │ │ ├── production │ │ │ ├── kustomization.yaml │ │ │ └── route53-credentials.yaml │ │ │ └── stage │ │ │ ├── kustomization.yaml │ │ │ └── route53-credentials.yaml │ ├── iris-legacy │ │ ├── README.md │ │ ├── aws-credentials.yaml │ │ ├── deployment.yaml │ │ ├── external-secret.yaml │ │ └── namespace.yaml │ ├── iris │ │ ├── base │ │ │ ├── configmap.yaml │ │ │ ├── deployment.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ └── rabbitmq-credentials.yaml │ │ └── overlays │ │ │ ├── production │ │ │ ├── aws-credentials.yaml │ │ │ ├── database-credentials.yaml │ │ │ └── kustomization.yaml │ │ │ └── stage │ │ │ ├── aws-credentials.yaml │ │ │ ├── configmap.yaml │ │ │ ├── database-credentials.yaml │ │ │ └── kustomization.yaml │ ├── minio │ │ ├── README.md │ │ ├── ingress.yaml │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ ├── tenant-config.yaml │ │ ├── tenant.yaml │ │ └── users │ │ │ ├── admin-api.yaml │ │ │ ├── client-api.yaml │ │ │ ├── iris.yaml │ │ │ └── plag.yaml │ ├── monitoring │ │ ├── grafana │ │ │ ├── base │ │ │ │ ├── kustomization.yaml │ │ │ │ └── namespace.yaml │ │ │ └── overlays │ │ │ │ ├── production │ │ │ │ ├── admin-user.yaml │ │ │ │ ├── github-credentials.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ │ │ └── stage │ │ │ │ ├── admin-user.yaml │ │ │ │ ├── github-credentials.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ ├── loki │ │ │ └── values.yaml │ │ ├── minio │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ ├── tenant-config.yaml │ │ │ ├── tenant.yaml │ │ │ └── users.yaml │ │ ├── otel-collector │ │ │ ├── README.md │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ ├── otel-collector.yaml │ │ │ └── service-monitor.yaml │ │ ├── prometheus │ │ │ ├── README.md │ │ │ ├── values-production.yaml │ │ │ └── values-stage.yaml │ │ ├── promtail │ │ │ └── values.yaml │ │ └── tempo │ │ │ └── values.yaml │ ├── plag │ │ ├── base │ │ │ ├── configmap.yaml │ │ │ ├── deployment.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ └── rabbitmq-credentials.yaml │ │ └── overlays │ │ │ ├── production │ │ │ ├── aws-credentials.yaml │ │ │ ├── database-credentials.yaml │ │ │ └── kustomization.yaml │ │ │ └── stage │ │ │ ├── aws-credentials.yaml │ │ │ ├── configmap.yaml │ │ │ ├── database-credentials.yaml │ │ │ └── kustomization.yaml │ ├── postgres │ │ ├── README.md │ │ ├── credentials.yaml │ │ ├── deployment.yaml │ │ ├── namespace.yaml │ │ ├── pvc.yaml │ │ ├── service.yaml │ │ └── url.yaml │ ├── rabbitmq │ │ ├── README.md │ │ ├── base │ │ │ ├── admin-credentials.yaml │ │ │ ├── admin-user.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ ├── rabbitmq-cluster.yaml │ │ │ ├── topology-judging.yaml │ │ │ ├── topology-plagiarism.yaml │ │ │ └── vhost.yaml │ │ └── overlays │ │ │ ├── production │ │ │ ├── admin-credentials.yaml │ │ │ └── kustomization.yaml │ │ │ └── stage │ │ │ ├── admin-credentials.yaml │ │ │ ├── ingress.yaml │ │ │ └── kustomization.yaml │ └── redis │ │ ├── README.md │ │ └── values.yaml └── legacy │ ├── README.md │ ├── production │ ├── codedang │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── codedang_api.tf │ │ ├── codedang_iris.tf │ │ ├── codedang_service_admin.tf │ │ ├── codedang_service_client.tf │ │ ├── codedang_service_iris.tf │ │ ├── container_definitions │ │ │ ├── admin_api.json │ │ │ ├── client_api.json │ │ │ └── iris.json │ │ ├── iam_ecs_instance_role.tf │ │ ├── iam_ecs_task_execution_role.tf │ │ ├── main.tf │ │ ├── message_queue.tf │ │ ├── message_queue_aws.tf │ │ ├── modules │ │ │ ├── cluster_autoscaling │ │ │ │ ├── README.md │ │ │ │ ├── autoscaling.tf │ │ │ │ ├── cluster.tf │ │ │ │ ├── launch_template │ │ │ │ │ └── user_data.sh │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── subnets.tf │ │ │ │ └── variables.tf │ │ │ ├── loadbalancing │ │ │ │ ├── README.md │ │ │ │ ├── loadbalancing.tf │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── subnets.tf │ │ │ │ └── variables.tf │ │ │ └── service_autoscaling │ │ │ │ ├── README.md │ │ │ │ ├── appautoscaling_scale_down.tf │ │ │ │ ├── appautoscaling_scale_up.tf │ │ │ │ ├── ecs_service.tf │ │ │ │ ├── iam_task_role.tf │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ └── variables.tf │ ├── network │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── cloudfront.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── private_network.tf │ │ ├── public_network.tf │ │ ├── route53.tf │ │ ├── variables.tf │ │ └── vpc.tf │ └── storage │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── database.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── redis.tf │ │ ├── s3_gateway_vpc_endpoint.tf │ │ ├── s3_media.tf │ │ ├── s3_media_iam_user.tf │ │ ├── s3_testcase.tf │ │ ├── s3_testcase_iam_user.tf │ │ └── variables.tf │ ├── rc │ ├── acm-validation │ │ ├── .terraform.lock.hcl │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ ├── codedang │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── amplify.tf │ │ ├── cloudfront.tf │ │ ├── codedang_api.tf │ │ ├── codedang_iris.tf │ │ ├── codedang_service_admin.tf │ │ ├── codedang_service_client.tf │ │ ├── codedang_service_iris.tf │ │ ├── container_definitions │ │ │ ├── admin_api.json │ │ │ ├── client_api.json │ │ │ └── iris.json │ │ ├── iam_ecs_instance_role.tf │ │ ├── iam_ecs_task_execution_role.tf │ │ ├── main.tf │ │ ├── message_queue.tf │ │ ├── modules │ │ │ ├── cluster_autoscaling │ │ │ │ ├── README.md │ │ │ │ ├── autoscaling.tf │ │ │ │ ├── cluster.tf │ │ │ │ ├── launch_template │ │ │ │ │ └── user_data.sh │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ │ ├── loadbalancing │ │ │ │ ├── README.md │ │ │ │ ├── loadbalancing.tf │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ │ └── service_autoscaling │ │ │ │ ├── README.md │ │ │ │ ├── appautoscaling_scale_down.tf │ │ │ │ ├── appautoscaling_scale_up.tf │ │ │ │ ├── ecs_service.tf │ │ │ │ ├── iam_task_role.tf │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ └── variables.tf │ ├── network │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── elastic_ip.tf │ │ ├── main.tf │ │ ├── modules │ │ │ ├── security_group │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── security_group.tf │ │ │ │ └── variables.tf │ │ │ └── subnet │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── subnet.tf │ │ │ │ └── variables.tf │ │ ├── network_instance.tf │ │ ├── outputs.tf │ │ ├── private_network.tf │ │ ├── public_network.tf │ │ ├── route53.tf │ │ ├── security_group.tf │ │ ├── variables.tf │ │ └── vpc.tf │ ├── storage │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── database.tf │ │ ├── ecr.tf │ │ ├── main.tf │ │ ├── message_queue_aws.tf │ │ ├── outputs.tf │ │ ├── redis.tf │ │ ├── s3_media.tf │ │ ├── s3_media_iam_user.tf │ │ ├── s3_testcase.tf │ │ ├── s3_testcase_iam_user.tf │ │ └── variables.tf │ └── terraform-configuration │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── backend.tf │ │ ├── key_pair.tf │ │ ├── main.tf │ │ ├── modules │ │ └── key_pair │ │ │ ├── key_pair.tf │ │ │ ├── main.tf │ │ │ └── variables.tf │ │ └── variables.tf │ └── stage │ ├── coolify │ └── caddy │ │ ├── Dockerfile │ │ ├── acme-challenge.caddy │ │ └── docker-compose.yml │ ├── server2 │ └── Caddyfile │ └── skku-network-proxy │ ├── .terraform.lock.hcl │ ├── Caddyfile │ ├── instance.tf │ ├── main.tf │ ├── network.tf │ ├── terraform-configuration │ ├── .terraform.lock.hcl │ ├── backend.tf │ ├── key_pair.tf │ ├── main.tf │ ├── modules │ │ └── key_pair │ │ │ ├── key_pair.tf │ │ │ ├── main.tf │ │ │ └── variables.tf │ └── variables.tf │ └── variables.tf ├── knip.config.ts ├── lefthook.yml ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── renovate.json ├── scripts ├── init-rabbitmq.ts ├── init-storage.ts └── setup.sh └── tsconfig.json /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.devcontainer/Dockerfile -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.editorconfig -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.envrc -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/ISSUE_TEMPLATE/bug-report.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/ISSUE_TEMPLATE/feature-request.yml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/actions/setup-pnpm/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/actions/setup-pnpm/action.yml -------------------------------------------------------------------------------- /.github/workflows/cd-failover-ecs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/cd-failover-ecs.yml -------------------------------------------------------------------------------- /.github/workflows/cd-prod-k8s.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/cd-prod-k8s.yml -------------------------------------------------------------------------------- /.github/workflows/cd-stage-k8s.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/cd-stage-k8s.yml -------------------------------------------------------------------------------- /.github/workflows/check-unused.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/check-unused.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.github/workflows/compress-image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/compress-image.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/cd-prod-frontend.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/cd-prod-frontend.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/cd-prod-target.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/cd-prod-target.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/cd-prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/cd-prod.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/cd-stage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/cd-stage.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-acm-validation.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-acm-validation.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-build-image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-build-image.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-deploy-target.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-deploy-target.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-deploy.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-destroy-target.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-destroy-target.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-destroy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-destroy.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-init-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-init-config.yml -------------------------------------------------------------------------------- /.github/workflows/legacy/rc-mask-db.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/legacy/rc-mask-db.yml -------------------------------------------------------------------------------- /.github/workflows/stage-reset-seed.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.github/workflows/stage-reset-seed.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitpod.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.gitpod.Dockerfile -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.gitpod.yml -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.npmrc -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 22.18.0 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.prettierrc -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/README.md -------------------------------------------------------------------------------- /apollo.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apollo.config.json -------------------------------------------------------------------------------- /apps/backend/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/.dockerignore -------------------------------------------------------------------------------- /apps/backend/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/.env.example -------------------------------------------------------------------------------- /apps/backend/.mocharc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/.mocharc.json -------------------------------------------------------------------------------- /apps/backend/.nycrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/.nycrc -------------------------------------------------------------------------------- /apps/backend/.swcrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/.swcrc -------------------------------------------------------------------------------- /apps/backend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/Dockerfile -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/admin.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/admin.controller.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/admin.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/admin.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/admin.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/admin.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/check/check.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/check/check.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/check/check.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/check/check.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/check/file.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/check/file.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/group/group.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/group/group.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/group/group.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/group/group.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/main.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/problem/mock/mock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/problem/mock/mock.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/user/user.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/user/user.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/user/user.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/user/user.resolver.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/src/user/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/src/user/user.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/admin/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/admin/tsconfig.app.json -------------------------------------------------------------------------------- /apps/backend/apps/client/src/app.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/app.controller.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/app.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/app.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/app.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/auth/auth.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/auth/auth.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/auth/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/auth/auth.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/email/email.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/email/email.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/group/group.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/group/group.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/main.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/user/user.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/user/user.module.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/src/user/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/src/user/user.service.ts -------------------------------------------------------------------------------- /apps/backend/apps/client/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/apps/client/tsconfig.app.json -------------------------------------------------------------------------------- /apps/backend/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/entrypoint.sh -------------------------------------------------------------------------------- /apps/backend/libs/amqp/src/amqp.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/amqp/src/amqp.module.ts -------------------------------------------------------------------------------- /apps/backend/libs/amqp/src/amqp.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/amqp/src/amqp.service.ts -------------------------------------------------------------------------------- /apps/backend/libs/amqp/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/amqp/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/amqp/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/amqp/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/guard.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/guard.decorator.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/jwt/jwt-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/jwt/jwt-auth.guard.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/jwt/jwt-auth.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/jwt/jwt-auth.module.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/jwt/jwt-auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/jwt/jwt-auth.service.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/jwt/jwt.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/jwt/jwt.interface.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/jwt/jwt.strategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/jwt/jwt.strategy.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/kakao/kakao.strategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/kakao/kakao.strategy.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/roles/admin.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/roles/admin.guard.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/roles/manager.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/roles/manager.guard.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/roles/roles.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/roles/roles.module.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/src/roles/roles.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/src/roles/roles.service.ts -------------------------------------------------------------------------------- /apps/backend/libs/auth/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/auth/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/cache/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/cache/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/cache/src/keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/cache/src/keys.ts -------------------------------------------------------------------------------- /apps/backend/libs/cache/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/cache/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/constants/src/check.constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/constants/src/check.constants.ts -------------------------------------------------------------------------------- /apps/backend/libs/constants/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/constants/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/constants/src/oauth.constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/constants/src/oauth.constants.ts -------------------------------------------------------------------------------- /apps/backend/libs/constants/src/time.constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/constants/src/time.constants.ts -------------------------------------------------------------------------------- /apps/backend/libs/constants/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/constants/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/exception/src/filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/exception/src/filter.ts -------------------------------------------------------------------------------- /apps/backend/libs/exception/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/exception/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/exception/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/exception/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/instrumentation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/instrumentation.ts -------------------------------------------------------------------------------- /apps/backend/libs/logger/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/logger/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/logger/src/pino-option.logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/logger/src/pino-option.logger.ts -------------------------------------------------------------------------------- /apps/backend/libs/logger/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/logger/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/pipe/enum/problem-order.enum.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/enum/problem-order.enum.ts -------------------------------------------------------------------------------- /apps/backend/libs/pipe/src/group-id.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/src/group-id.pipe.ts -------------------------------------------------------------------------------- /apps/backend/libs/pipe/src/id-validation.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/src/id-validation.pipe.ts -------------------------------------------------------------------------------- /apps/backend/libs/pipe/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/pipe/src/problem-id.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/src/problem-id.pipe.ts -------------------------------------------------------------------------------- /apps/backend/libs/pipe/src/problem-order.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/src/problem-order.pipe.ts -------------------------------------------------------------------------------- /apps/backend/libs/pipe/src/required-int.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/src/required-int.pipe.ts -------------------------------------------------------------------------------- /apps/backend/libs/pipe/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/pipe/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/prisma/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/prisma/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/prisma/src/prisma.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/prisma/src/prisma.module.ts -------------------------------------------------------------------------------- /apps/backend/libs/prisma/src/prisma.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/prisma/src/prisma.service.ts -------------------------------------------------------------------------------- /apps/backend/libs/prisma/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/prisma/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/storage/src/content.type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/storage/src/content.type.ts -------------------------------------------------------------------------------- /apps/backend/libs/storage/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/storage/src/index.ts -------------------------------------------------------------------------------- /apps/backend/libs/storage/src/s3.provider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/storage/src/s3.provider.ts -------------------------------------------------------------------------------- /apps/backend/libs/storage/src/storage.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/storage/src/storage.module.ts -------------------------------------------------------------------------------- /apps/backend/libs/storage/src/storage.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/storage/src/storage.service.ts -------------------------------------------------------------------------------- /apps/backend/libs/storage/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/storage/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/libs/types/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './group-join-request.type' 2 | -------------------------------------------------------------------------------- /apps/backend/libs/types/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/libs/types/tsconfig.lib.json -------------------------------------------------------------------------------- /apps/backend/mocha-fixture.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/mocha-fixture.ts -------------------------------------------------------------------------------- /apps/backend/nest-cli.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/nest-cli.json -------------------------------------------------------------------------------- /apps/backend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/package.json -------------------------------------------------------------------------------- /apps/backend/prisma/__fixtures__/problem/1-input-eng.html: -------------------------------------------------------------------------------- 1 |
A and B are given in the first line. (0 < A, B < 10)
2 | -------------------------------------------------------------------------------- /apps/backend/prisma/__fixtures__/problem/1-input.html: -------------------------------------------------------------------------------- 1 |첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
2 | -------------------------------------------------------------------------------- /apps/backend/prisma/__fixtures__/problem/1-output.html: -------------------------------------------------------------------------------- 1 |첫째 줄에 A+B를 출력한다.
2 | -------------------------------------------------------------------------------- /apps/backend/prisma/migrations/20250509042559_add_pypy3_on_langauge_enum/migration.sql: -------------------------------------------------------------------------------- 1 | -- AlterEnum 2 | ALTER TYPE "Language" ADD VALUE 'PyPy3'; 3 | -------------------------------------------------------------------------------- /apps/backend/prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/1.json -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/2.json -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/3.json -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/4.json -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/5.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/5.json -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/6.json -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/7.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/7.json -------------------------------------------------------------------------------- /apps/backend/prisma/problem-testcases/8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/problem-testcases/8.json -------------------------------------------------------------------------------- /apps/backend/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/schema.prisma -------------------------------------------------------------------------------- /apps/backend/prisma/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/prisma/seed.ts -------------------------------------------------------------------------------- /apps/backend/schema.gql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/schema.gql -------------------------------------------------------------------------------- /apps/backend/scripts/add-solution.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/scripts/add-solution.ts -------------------------------------------------------------------------------- /apps/backend/scripts/migrate-scoreweight-fix.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/scripts/migrate-scoreweight-fix.ts -------------------------------------------------------------------------------- /apps/backend/scripts/migrate-scoreweight.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/scripts/migrate-scoreweight.ts -------------------------------------------------------------------------------- /apps/backend/tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/tsconfig.build.json -------------------------------------------------------------------------------- /apps/backend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/tsconfig.json -------------------------------------------------------------------------------- /apps/backend/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/backend/webpack.config.js -------------------------------------------------------------------------------- /apps/frontend/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/.env.example -------------------------------------------------------------------------------- /apps/frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/.gitignore -------------------------------------------------------------------------------- /apps/frontend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/Dockerfile -------------------------------------------------------------------------------- /apps/frontend/Dockerfile.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/Dockerfile.dockerignore -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/contest/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/contest/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/course/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/course/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/course/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/course/style.css -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/layout.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/notice/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/notice/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/notice/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/notice/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/(main)/problem/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/(main)/problem/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/_libs/apis/problem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/_libs/apis/problem.ts -------------------------------------------------------------------------------- /apps/frontend/app/(client)/_libs/apis/profile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/_libs/apis/profile.ts -------------------------------------------------------------------------------- /apps/frontend/app/(client)/_libs/apis/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/_libs/apis/types.ts -------------------------------------------------------------------------------- /apps/frontend/app/(client)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/layout.tsx -------------------------------------------------------------------------------- /apps/frontend/app/(client)/login/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/(client)/login/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/PretendardVariable.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/PretendardVariable.woff2 -------------------------------------------------------------------------------- /apps/frontend/app/admin/_components/Label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/_components/Label.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/_components/TextEditor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/_components/TextEditor.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/_components/TimeForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/_components/TimeForm.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/_components/TitleForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/_components/TitleForm.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/_components/table/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/_components/table/index.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/_libs/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/_libs/utils.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/contest/_libs/schemas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/contest/_libs/schemas.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/contest/create/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/contest/create/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/contest/create/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/contest/create/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/contest/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/contest/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/contest/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/contest/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/course/[courseId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/course/[courseId]/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/course/_libs/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/course/_libs/schema.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/course/_libs/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/course/_libs/utils.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/course/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/course/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/course/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/course/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/layout.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/notice/[noticeId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/notice/[noticeId]/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/notice/_libs/schemas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/notice/_libs/schemas.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/notice/create/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/notice/create/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/notice/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/notice/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/notice/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/notice/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/_libs/schemas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/_libs/schemas.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/_libs/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/_libs/utils.ts -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/create/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/create/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/create/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/create/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/shared/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/shared/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/problem/shared/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/problem/shared/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/user/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/user/error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/admin/user/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/admin/user/page.tsx -------------------------------------------------------------------------------- /apps/frontend/app/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/apple-icon.png -------------------------------------------------------------------------------- /apps/frontend/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/favicon.ico -------------------------------------------------------------------------------- /apps/frontend/app/global-error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/global-error.tsx -------------------------------------------------------------------------------- /apps/frontend/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/globals.css -------------------------------------------------------------------------------- /apps/frontend/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/icon.png -------------------------------------------------------------------------------- /apps/frontend/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/layout.tsx -------------------------------------------------------------------------------- /apps/frontend/app/manifest.webmanifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/manifest.webmanifest -------------------------------------------------------------------------------- /apps/frontend/app/my_api/instagram/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/my_api/instagram/route.ts -------------------------------------------------------------------------------- /apps/frontend/app/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/opengraph-image.png -------------------------------------------------------------------------------- /apps/frontend/app/posthog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/app/posthog.tsx -------------------------------------------------------------------------------- /apps/frontend/codegen.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/codegen.ts -------------------------------------------------------------------------------- /apps/frontend/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components.json -------------------------------------------------------------------------------- /apps/frontend/components/AlertModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/AlertModal.tsx -------------------------------------------------------------------------------- /apps/frontend/components/AssignmentStatus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/AssignmentStatus.tsx -------------------------------------------------------------------------------- /apps/frontend/components/BaseModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/BaseModal.tsx -------------------------------------------------------------------------------- /apps/frontend/components/CodeEditor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/CodeEditor.tsx -------------------------------------------------------------------------------- /apps/frontend/components/ContestStatusTimeDiff.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/ContestStatusTimeDiff.tsx -------------------------------------------------------------------------------- /apps/frontend/components/CountdownStatus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/CountdownStatus.tsx -------------------------------------------------------------------------------- /apps/frontend/components/DateRangeDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/DateRangeDisplay.tsx -------------------------------------------------------------------------------- /apps/frontend/components/DeleteButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/DeleteButton.tsx -------------------------------------------------------------------------------- /apps/frontend/components/DurationDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/DurationDisplay.tsx -------------------------------------------------------------------------------- /apps/frontend/components/ErrorDetail.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/ErrorDetail.tsx -------------------------------------------------------------------------------- /apps/frontend/components/FetchErrorFallback.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/FetchErrorFallback.tsx -------------------------------------------------------------------------------- /apps/frontend/components/Icons.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/Icons.tsx -------------------------------------------------------------------------------- /apps/frontend/components/InsertDialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/InsertDialog.tsx -------------------------------------------------------------------------------- /apps/frontend/components/IntersectionArea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/IntersectionArea.tsx -------------------------------------------------------------------------------- /apps/frontend/components/KatexContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/KatexContent.tsx -------------------------------------------------------------------------------- /apps/frontend/components/LevelBadge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/LevelBadge.tsx -------------------------------------------------------------------------------- /apps/frontend/components/Modal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/Modal.tsx -------------------------------------------------------------------------------- /apps/frontend/components/ModalInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/ModalInput.tsx -------------------------------------------------------------------------------- /apps/frontend/components/ModalList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/ModalList.tsx -------------------------------------------------------------------------------- /apps/frontend/components/ModalSection.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/ModalSection.tsx -------------------------------------------------------------------------------- /apps/frontend/components/Paginator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/Paginator.tsx -------------------------------------------------------------------------------- /apps/frontend/components/PaginatorV2.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/PaginatorV2.tsx -------------------------------------------------------------------------------- /apps/frontend/components/SideBar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/SideBar.tsx -------------------------------------------------------------------------------- /apps/frontend/components/TextEditor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/TextEditor.tsx -------------------------------------------------------------------------------- /apps/frontend/components/TimeStatusBadge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/TimeStatusBadge.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/AccountItems.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/AccountItems.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/AuthLabel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/AuthLabel.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/AuthMessage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/AuthMessage.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/AuthModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/AuthModal.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/AuthProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/AuthProvider.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/HeaderAuthPanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/HeaderAuthPanel.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/MobileMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/MobileMenu.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/SignIn.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/SignIn.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/SignUp/SignUp.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/SignUp/SignUp.tsx -------------------------------------------------------------------------------- /apps/frontend/components/auth/SignUp/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/auth/SignUp/api.ts -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/accordion.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/accordion.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/alert-dialog.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/alert.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/alert.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/badge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/badge.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/button.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/calendar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/calendar.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/card.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/carousel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/carousel.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/chart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/chart.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/checkbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/checkbox.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/command.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/command.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/dialog.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/drawer.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/dropdown-menu.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/form.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/input.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/label.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/pagination.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/pagination.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/popover.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/progress.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/resizable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/resizable.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/scroll-area.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/select.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/separator.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/sheet.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/skeleton.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/sonner.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/switch.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/table.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/tabs.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/textarea.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/toggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/toggle.tsx -------------------------------------------------------------------------------- /apps/frontend/components/shadcn/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/components/shadcn/tooltip.tsx -------------------------------------------------------------------------------- /apps/frontend/graphql/assignment/mutations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/assignment/mutations.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/assignment/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/assignment/queries.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/contest/mutations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/contest/mutations.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/contest/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/contest/queries.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/course/mutation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/course/mutation.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/course/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/course/queries.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/leaderboard/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/leaderboard/queries.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/notice/mutation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/notice/mutation.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/notice/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/notice/queries.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/problem/mutations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/problem/mutations.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/problem/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/problem/queries.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/submission/mutations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/submission/mutations.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/submission/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/submission/queries.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/user/mutation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/user/mutation.ts -------------------------------------------------------------------------------- /apps/frontend/graphql/user/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/graphql/user/queries.ts -------------------------------------------------------------------------------- /apps/frontend/libs/apiError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/apiError.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/authOptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/authOptions.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/authorize.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/authorize.spec.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/authorize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/authorize.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/getClientSession.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/getClientSession.spec.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/getClientSession.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/getClientSession.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/getJWTExpire.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/getJWTExpire.spec.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/getJWTExpire.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/getJWTExpire.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/getJWTFromResponse.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/getJWTFromResponse.spec.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/getJWTFromResponse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/getJWTFromResponse.ts -------------------------------------------------------------------------------- /apps/frontend/libs/auth/getServerSession.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/auth/getServerSession.ts -------------------------------------------------------------------------------- /apps/frontend/libs/captureError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/captureError.ts -------------------------------------------------------------------------------- /apps/frontend/libs/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/constants.ts -------------------------------------------------------------------------------- /apps/frontend/libs/hooks/useFeatureFlag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/hooks/useFeatureFlag.ts -------------------------------------------------------------------------------- /apps/frontend/libs/hooks/usePagination.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/hooks/usePagination.ts -------------------------------------------------------------------------------- /apps/frontend/libs/hooks/usePaginationV2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/hooks/usePaginationV2.ts -------------------------------------------------------------------------------- /apps/frontend/libs/hooks/useSession.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/hooks/useSession.ts -------------------------------------------------------------------------------- /apps/frontend/libs/hooks/useWindowSize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/hooks/useWindowSize.ts -------------------------------------------------------------------------------- /apps/frontend/libs/instagram.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/instagram.ts -------------------------------------------------------------------------------- /apps/frontend/libs/posthog.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/posthog.server.ts -------------------------------------------------------------------------------- /apps/frontend/libs/push-subscription.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/push-subscription.ts -------------------------------------------------------------------------------- /apps/frontend/libs/renderKatex.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/renderKatex.ts -------------------------------------------------------------------------------- /apps/frontend/libs/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/libs/utils.ts -------------------------------------------------------------------------------- /apps/frontend/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/middleware.ts -------------------------------------------------------------------------------- /apps/frontend/mocks/handlers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/mocks/handlers.ts -------------------------------------------------------------------------------- /apps/frontend/mocks/node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/mocks/node.ts -------------------------------------------------------------------------------- /apps/frontend/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/next-env.d.ts -------------------------------------------------------------------------------- /apps/frontend/next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/next.config.ts -------------------------------------------------------------------------------- /apps/frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/package.json -------------------------------------------------------------------------------- /apps/frontend/playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/playwright.config.ts -------------------------------------------------------------------------------- /apps/frontend/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/postcss.config.js -------------------------------------------------------------------------------- /apps/frontend/public/Whitelist_Sample.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/Whitelist_Sample.csv -------------------------------------------------------------------------------- /apps/frontend/public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /apps/frontend/public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/about-contest.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/about-contest.svg -------------------------------------------------------------------------------- /apps/frontend/public/banners/assignment-sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/assignment-sub.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/book.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/bug.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/codedang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/codedang.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/computer.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/contest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/contest.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/course.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/course.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/github.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/main_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/main_banner.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/notebook.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/notice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/notice.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/stay-informed.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/stay-informed.svg -------------------------------------------------------------------------------- /apps/frontend/public/banners/trophy-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/trophy-main.png -------------------------------------------------------------------------------- /apps/frontend/public/banners/trophy-sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/banners/trophy-sub.png -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-bottom.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-bottom.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-down.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-down.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-icon.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-left-full.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-left-full.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-left.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-left.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-right-full.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-right-full.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-right-gray.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-right-gray.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/arrow-right.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/arrow-right.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/assignment.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/assignment.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/bottom-center.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/bottom-center.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/calendar.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/calendar.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/calendar_blue.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/calendar_blue.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/check-blue.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/check-blue.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/check-box.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/check-box.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/check-darkgray.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/check-darkgray.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/check-gray.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/check-gray.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/check-green.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/check-green.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/check-white.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/check-white.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/check.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/check.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/clock.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/clock.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/clock_blue.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/clock_blue.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/clock_red.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/clock_red.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/codeLaptop.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/codeLaptop.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/compile-version.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/compile-version.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/copy-blue.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/copy-blue.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/copy-complete.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/copy-complete.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/copy.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/copy.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/course-sidebar.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/course-sidebar.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/detail-on-mobile.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/detail-on-mobile.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/email-symbol.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/email-symbol.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/emergency.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/emergency.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/exam.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/exam.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/excel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/excel.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/exit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/exit.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/exit2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/exit2.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/file-info-gray.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/file-info-gray.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/file-info.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/file-info.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/file-pen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/file-pen.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/finished.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/finished.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/grade-detail.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/grade-detail.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/grade.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/grade.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/home.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/home.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/icon-info-blue.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/icon-info-blue.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/image-upload.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/image-upload.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/info-gray.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/info-gray.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/info-icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/info-icon.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/info.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/info.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/instagram-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/instagram-logo.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/invisible-orange.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/invisible-orange.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/invisible.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/invisible.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/key-blue.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/key-blue.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/login-mobile.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/login-mobile.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/logout-mobile.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/logout-mobile.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/mail-line.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/mail-line.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/maximize.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/maximize.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/medal-bronze.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/medal-bronze.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/medal-gold.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/medal-gold.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/medal-silver.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/medal-silver.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/member.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/member.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/more.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/more.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/notice.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/notice.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/notification.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/notification.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/ongoing.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/ongoing.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/pen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/pen.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/person-fill.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/person-fill.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/person.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/person.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/plus-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/plus-circle.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/plus-line.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/plus-line.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/prize.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/prize.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/problem-sidebar.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/problem-sidebar.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/qna.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/qna.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/quarter-ellipse.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/quarter-ellipse.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/redclock.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/redclock.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/reset.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/reset.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/search.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/search.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/see-submission.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/see-submission.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/settings.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/settings.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/submit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/submit.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/subtract.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/subtract.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/sync.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/sync.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/task-complete.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/task-complete.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-bold.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-bold.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-code.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-file.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-file.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-h1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-h1.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-h2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-h2.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-h3.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-h3.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-image.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-image.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-link.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-link.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-redo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-redo.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-table.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-table.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/texteditor-undo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/texteditor-undo.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/trashcan.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/trashcan.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/trashcan2-red.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/trashcan2-red.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/upcoming.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/upcoming.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/upload.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/upload.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/visible.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/visible.svg -------------------------------------------------------------------------------- /apps/frontend/public/icons/visit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/icons/visit.svg -------------------------------------------------------------------------------- /apps/frontend/public/logos/codedang-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/codedang-badge.png -------------------------------------------------------------------------------- /apps/frontend/public/logos/codedang-editor.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/codedang-editor.svg -------------------------------------------------------------------------------- /apps/frontend/public/logos/codedang-rotated.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/codedang-rotated.svg -------------------------------------------------------------------------------- /apps/frontend/public/logos/coming-soon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/coming-soon.png -------------------------------------------------------------------------------- /apps/frontend/public/logos/error.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/error.webp -------------------------------------------------------------------------------- /apps/frontend/public/logos/excel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/excel.png -------------------------------------------------------------------------------- /apps/frontend/public/logos/please.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/please.png -------------------------------------------------------------------------------- /apps/frontend/public/logos/transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/transparent.png -------------------------------------------------------------------------------- /apps/frontend/public/logos/welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/welcome.png -------------------------------------------------------------------------------- /apps/frontend/public/logos/welcomeNobg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/logos/welcomeNobg.png -------------------------------------------------------------------------------- /apps/frontend/public/sample.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/public/sample.xlsx -------------------------------------------------------------------------------- /apps/frontend/stores/authModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/stores/authModal.ts -------------------------------------------------------------------------------- /apps/frontend/stores/editor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/stores/editor.ts -------------------------------------------------------------------------------- /apps/frontend/stores/editorTabs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/stores/editorTabs.ts -------------------------------------------------------------------------------- /apps/frontend/stores/recoverAccountModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/stores/recoverAccountModal.ts -------------------------------------------------------------------------------- /apps/frontend/stores/signUpModal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/stores/signUpModal.ts -------------------------------------------------------------------------------- /apps/frontend/stores/testcaseStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/stores/testcaseStore.ts -------------------------------------------------------------------------------- /apps/frontend/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/tailwind.config.ts -------------------------------------------------------------------------------- /apps/frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/tsconfig.json -------------------------------------------------------------------------------- /apps/frontend/types/instagram.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/types/instagram.d.ts -------------------------------------------------------------------------------- /apps/frontend/types/next-auth.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/types/next-auth.d.ts -------------------------------------------------------------------------------- /apps/frontend/types/type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/types/type.ts -------------------------------------------------------------------------------- /apps/frontend/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/vitest.config.ts -------------------------------------------------------------------------------- /apps/frontend/vitest.setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/vitest.setup.ts -------------------------------------------------------------------------------- /apps/frontend/worker/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/frontend/worker/index.js -------------------------------------------------------------------------------- /apps/iris/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/.env.example -------------------------------------------------------------------------------- /apps/iris/.sdkmanrc: -------------------------------------------------------------------------------- 1 | java=17.0.17-tem 2 | -------------------------------------------------------------------------------- /apps/iris/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/Dockerfile -------------------------------------------------------------------------------- /apps/iris/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/LICENSE -------------------------------------------------------------------------------- /apps/iris/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/entrypoint.sh -------------------------------------------------------------------------------- /apps/iris/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/go.mod -------------------------------------------------------------------------------- /apps/iris/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/go.sum -------------------------------------------------------------------------------- /apps/iris/lib/judger/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/lib/judger/LICENSE -------------------------------------------------------------------------------- /apps/iris/lib/judger/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/lib/judger/README.md -------------------------------------------------------------------------------- /apps/iris/lib/judger/policy/java_policy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/lib/judger/policy/java_policy -------------------------------------------------------------------------------- /apps/iris/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/main.go -------------------------------------------------------------------------------- /apps/iris/src/common/constants/constants.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/common/constants/constants.go -------------------------------------------------------------------------------- /apps/iris/src/common/result/chResult.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/common/result/chResult.go -------------------------------------------------------------------------------- /apps/iris/src/connector/factory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/factory.go -------------------------------------------------------------------------------- /apps/iris/src/connector/http/connector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/http/connector.go -------------------------------------------------------------------------------- /apps/iris/src/connector/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/interface.go -------------------------------------------------------------------------------- /apps/iris/src/connector/rabbitmq/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/rabbitmq/client.go -------------------------------------------------------------------------------- /apps/iris/src/connector/rabbitmq/connector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/rabbitmq/connector.go -------------------------------------------------------------------------------- /apps/iris/src/connector/rabbitmq/consumer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/rabbitmq/consumer.go -------------------------------------------------------------------------------- /apps/iris/src/connector/rabbitmq/converter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/rabbitmq/converter.go -------------------------------------------------------------------------------- /apps/iris/src/connector/rabbitmq/producer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/connector/rabbitmq/producer.go -------------------------------------------------------------------------------- /apps/iris/src/handler/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/handler/errors.go -------------------------------------------------------------------------------- /apps/iris/src/handler/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/handler/interface.go -------------------------------------------------------------------------------- /apps/iris/src/handler/judge-handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/handler/judge-handler.go -------------------------------------------------------------------------------- /apps/iris/src/handler/judge-handler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/handler/judge-handler_test.go -------------------------------------------------------------------------------- /apps/iris/src/handler/resultCode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/handler/resultCode.go -------------------------------------------------------------------------------- /apps/iris/src/instrumentation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/instrumentation.go -------------------------------------------------------------------------------- /apps/iris/src/loader/element.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/loader/element.go -------------------------------------------------------------------------------- /apps/iris/src/loader/postgres.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/loader/postgres.go -------------------------------------------------------------------------------- /apps/iris/src/loader/s3.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/loader/s3.go -------------------------------------------------------------------------------- /apps/iris/src/router/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/router/response.go -------------------------------------------------------------------------------- /apps/iris/src/router/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/router/router.go -------------------------------------------------------------------------------- /apps/iris/src/service/file/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/file/manager.go -------------------------------------------------------------------------------- /apps/iris/src/service/grader/grader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/grader/grader.go -------------------------------------------------------------------------------- /apps/iris/src/service/logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/logger/logger.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/compiler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/compiler.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/judger/exec.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/judger/exec.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/judger/impl.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/judger/impl.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/judger/runner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/judger/runner.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/langConfig.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/langConfig.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/runner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/runner.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/sandbox.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/sandbox.go -------------------------------------------------------------------------------- /apps/iris/src/service/sandbox/statusCode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/sandbox/statusCode.go -------------------------------------------------------------------------------- /apps/iris/src/service/testcase/data.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/testcase/data.go -------------------------------------------------------------------------------- /apps/iris/src/service/testcase/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/service/testcase/manager.go -------------------------------------------------------------------------------- /apps/iris/src/utils/get_env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/utils/get_env.go -------------------------------------------------------------------------------- /apps/iris/src/utils/rand_string.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/src/utils/rand_string.go -------------------------------------------------------------------------------- /apps/iris/tests/data/submission/1_answer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/submission/1_answer.json -------------------------------------------------------------------------------- /apps/iris/tests/data/submission/1_wrong.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/submission/1_wrong.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/1.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/2.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/3.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/4.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/5.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/5.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/6.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/7.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/7.json -------------------------------------------------------------------------------- /apps/iris/tests/data/testcase/8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/iris/tests/data/testcase/8.json -------------------------------------------------------------------------------- /apps/plag/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/.env.example -------------------------------------------------------------------------------- /apps/plag/.sdkmanrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/.sdkmanrc -------------------------------------------------------------------------------- /apps/plag/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/Dockerfile -------------------------------------------------------------------------------- /apps/plag/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/LICENSE -------------------------------------------------------------------------------- /apps/plag/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./plag 4 | -------------------------------------------------------------------------------- /apps/plag/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/go.mod -------------------------------------------------------------------------------- /apps/plag/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/go.sum -------------------------------------------------------------------------------- /apps/plag/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/main.go -------------------------------------------------------------------------------- /apps/plag/src/common/constants/constants.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/common/constants/constants.go -------------------------------------------------------------------------------- /apps/plag/src/common/result/chResult.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/common/result/chResult.go -------------------------------------------------------------------------------- /apps/plag/src/connector/factory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/factory.go -------------------------------------------------------------------------------- /apps/plag/src/connector/http/connector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/http/connector.go -------------------------------------------------------------------------------- /apps/plag/src/connector/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/interface.go -------------------------------------------------------------------------------- /apps/plag/src/connector/rabbitmq/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/rabbitmq/client.go -------------------------------------------------------------------------------- /apps/plag/src/connector/rabbitmq/connector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/rabbitmq/connector.go -------------------------------------------------------------------------------- /apps/plag/src/connector/rabbitmq/consumer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/rabbitmq/consumer.go -------------------------------------------------------------------------------- /apps/plag/src/connector/rabbitmq/converter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/rabbitmq/converter.go -------------------------------------------------------------------------------- /apps/plag/src/connector/rabbitmq/producer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/connector/rabbitmq/producer.go -------------------------------------------------------------------------------- /apps/plag/src/handler/check-handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/handler/check-handler.go -------------------------------------------------------------------------------- /apps/plag/src/handler/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/handler/errors.go -------------------------------------------------------------------------------- /apps/plag/src/handler/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/handler/interface.go -------------------------------------------------------------------------------- /apps/plag/src/handler/resultCode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/handler/resultCode.go -------------------------------------------------------------------------------- /apps/plag/src/instrumentation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/instrumentation.go -------------------------------------------------------------------------------- /apps/plag/src/loader/element.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/loader/element.go -------------------------------------------------------------------------------- /apps/plag/src/loader/postgres.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/loader/postgres.go -------------------------------------------------------------------------------- /apps/plag/src/loader/s3.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/loader/s3.go -------------------------------------------------------------------------------- /apps/plag/src/router/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/router/response.go -------------------------------------------------------------------------------- /apps/plag/src/router/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/router/router.go -------------------------------------------------------------------------------- /apps/plag/src/service/check/data.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/service/check/data.go -------------------------------------------------------------------------------- /apps/plag/src/service/check/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/service/check/manager.go -------------------------------------------------------------------------------- /apps/plag/src/service/file/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/service/file/manager.go -------------------------------------------------------------------------------- /apps/plag/src/service/logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/service/logger/logger.go -------------------------------------------------------------------------------- /apps/plag/src/service/sandbox/langConfig.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/service/sandbox/langConfig.go -------------------------------------------------------------------------------- /apps/plag/src/utils/get_env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/utils/get_env.go -------------------------------------------------------------------------------- /apps/plag/src/utils/rand_string.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/apps/plag/src/utils/rand_string.go -------------------------------------------------------------------------------- /collection/admin/Announcement/folder.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Announcement/folder.bru -------------------------------------------------------------------------------- /collection/admin/Check/Get Cluster/folder.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Check/Get Cluster/folder.bru -------------------------------------------------------------------------------- /collection/admin/Check/Get Overview/folder.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Check/Get Overview/folder.bru -------------------------------------------------------------------------------- /collection/admin/Check/Request Check/folder.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Check/Request Check/folder.bru -------------------------------------------------------------------------------- /collection/admin/Course/Get Courses/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Course/Get Courses/Succeed.bru -------------------------------------------------------------------------------- /collection/admin/Notice/Get Notices/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Notice/Get Notices/Succeed.bru -------------------------------------------------------------------------------- /collection/admin/Problem/Create Testcases/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Create Testcases 3 | } 4 | -------------------------------------------------------------------------------- /collection/admin/Problem/Get Tags/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Problem/Get Tags/Succeed.bru -------------------------------------------------------------------------------- /collection/admin/Problem/Update AssignmentProblems Score/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Update AssignmentProblems 3 | } 4 | -------------------------------------------------------------------------------- /collection/admin/Problem/Upload File/sample.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/Problem/Upload File/sample.pdf -------------------------------------------------------------------------------- /collection/admin/Problem/Upload Testcase Zip Legacy/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Upload Testcase Zip Legacy 3 | } 4 | -------------------------------------------------------------------------------- /collection/admin/Problem/Upload Testcase Zip/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Upload Testcase Zip 3 | } 4 | -------------------------------------------------------------------------------- /collection/admin/User/Get Users/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/User/Get Users/Succeed.bru -------------------------------------------------------------------------------- /collection/admin/User/Update Creation Permission/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Update Creation Permission 3 | } 4 | -------------------------------------------------------------------------------- /collection/admin/bruno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/bruno.json -------------------------------------------------------------------------------- /collection/admin/collection.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/collection.bru -------------------------------------------------------------------------------- /collection/admin/environments/Local.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/environments/Local.bru -------------------------------------------------------------------------------- /collection/admin/environments/Stage.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/environments/Stage.bru -------------------------------------------------------------------------------- /collection/admin/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/admin/login.js -------------------------------------------------------------------------------- /collection/client/Assignment/Get My Assignments Summary/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get My Assignments Summary 3 | } 4 | -------------------------------------------------------------------------------- /collection/client/Assignment/Participate All Ongoing Assignments/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Participate All Ongoing Assignments 3 | } 4 | -------------------------------------------------------------------------------- /collection/client/Auth/Log In/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/Auth/Log In/Succeed.bru -------------------------------------------------------------------------------- /collection/client/Auth/Log Out/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/Auth/Log Out/Succeed.bru -------------------------------------------------------------------------------- /collection/client/Group/Get Groups/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/Group/Get Groups/Succeed.bru -------------------------------------------------------------------------------- /collection/client/Notification/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Notification 3 | seq: 14 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Problem/Get Assignment Problem by ID/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get Assignment Problem by ID 3 | seq: 1 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Problem/Get Assignment Problems/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get Assignment Problems 3 | seq: 2 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Problem/Get Code Draft/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get Code Draft 3 | seq: 3 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Problem/Get Contest Problem by ID/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get Contest Problem by ID 3 | seq: 4 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Problem/Get problem by ID/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get problem by ID 3 | seq: 5 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Problem/Get problems/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get problems 3 | seq: 6 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Problem/Upsert Code Draft/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Upsert Code Draft 3 | seq: 7 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/Push Subscription/Get Push Subscriptions/folder.bru: -------------------------------------------------------------------------------- 1 | meta { 2 | name: Get Push Subscriptions 3 | seq: 5 4 | } 5 | -------------------------------------------------------------------------------- /collection/client/User/Sign Up/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/User/Sign Up/Succeed.bru -------------------------------------------------------------------------------- /collection/client/User/Update Email/Succeed.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/User/Update Email/Succeed.bru -------------------------------------------------------------------------------- /collection/client/bruno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/bruno.json -------------------------------------------------------------------------------- /collection/client/collection.bru: -------------------------------------------------------------------------------- 1 | headers { 2 | Authorization: {{jwtToken}} 3 | } 4 | -------------------------------------------------------------------------------- /collection/client/environments/Local.bru: -------------------------------------------------------------------------------- 1 | vars { 2 | baseUrl: http://localhost:4000 3 | } 4 | vars:secret [ 5 | jwtToken 6 | ] 7 | -------------------------------------------------------------------------------- /collection/client/environments/Stage.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/environments/Stage.bru -------------------------------------------------------------------------------- /collection/client/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/client/login.js -------------------------------------------------------------------------------- /collection/instructor/bruno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/instructor/bruno.json -------------------------------------------------------------------------------- /collection/instructor/collection.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/instructor/collection.bru -------------------------------------------------------------------------------- /collection/instructor/environments/Local.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/instructor/environments/Local.bru -------------------------------------------------------------------------------- /collection/instructor/environments/Stage.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/instructor/environments/Stage.bru -------------------------------------------------------------------------------- /collection/instructor/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/collection/instructor/login.js -------------------------------------------------------------------------------- /commitlint.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/commitlint.config.ts -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /infra/aws/dns/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/aws/dns/argocd.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/argocd.tf -------------------------------------------------------------------------------- /infra/aws/dns/cloud-beaver.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/cloud-beaver.tf -------------------------------------------------------------------------------- /infra/aws/dns/codedang.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/codedang.tf -------------------------------------------------------------------------------- /infra/aws/dns/docs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/docs.tf -------------------------------------------------------------------------------- /infra/aws/dns/k8s-dashboard.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/k8s-dashboard.tf -------------------------------------------------------------------------------- /infra/aws/dns/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/main.tf -------------------------------------------------------------------------------- /infra/aws/dns/minio.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/minio.tf -------------------------------------------------------------------------------- /infra/aws/dns/monitoring.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/monitoring.tf -------------------------------------------------------------------------------- /infra/aws/dns/preview.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/preview.tf -------------------------------------------------------------------------------- /infra/aws/dns/rabbitmq.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/dns/rabbitmq.tf -------------------------------------------------------------------------------- /infra/aws/instagram-token-refresh/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/instagram-token-refresh/main.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/aws/k8s-iam/admin-api.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/admin-api.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/client-api-stage.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/client-api-stage.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/client-api.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/client-api.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/frontend.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/frontend.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/iris.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/iris.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/letsencrypt.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/letsencrypt.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/main.tf -------------------------------------------------------------------------------- /infra/aws/k8s-iam/plag.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/k8s-iam/plag.tf -------------------------------------------------------------------------------- /infra/aws/openvpn/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/aws/openvpn/bootstrap.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/bootstrap.sh -------------------------------------------------------------------------------- /infra/aws/openvpn/ec2-asg.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/ec2-asg.tf -------------------------------------------------------------------------------- /infra/aws/openvpn/elastic-ip.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/elastic-ip.tf -------------------------------------------------------------------------------- /infra/aws/openvpn/iam-role.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/iam-role.tf -------------------------------------------------------------------------------- /infra/aws/openvpn/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/main.tf -------------------------------------------------------------------------------- /infra/aws/openvpn/secrets.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/secrets.tf -------------------------------------------------------------------------------- /infra/aws/openvpn/security-group.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/openvpn/security-group.tf -------------------------------------------------------------------------------- /infra/aws/terraform-backend/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/terraform-backend/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/aws/terraform-backend/backend.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/terraform-backend/backend.tf -------------------------------------------------------------------------------- /infra/aws/terraform-backend/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/terraform-backend/main.tf -------------------------------------------------------------------------------- /infra/aws/vpc/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/vpc/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/aws/vpc/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/vpc/main.tf -------------------------------------------------------------------------------- /infra/aws/vpc/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/vpc/outputs.tf -------------------------------------------------------------------------------- /infra/aws/vpc/route_tables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/vpc/route_tables.tf -------------------------------------------------------------------------------- /infra/aws/vpc/vpc.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/aws/vpc/vpc.tf -------------------------------------------------------------------------------- /infra/k8s/admin-api/base/configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/admin-api/base/configmap.yaml -------------------------------------------------------------------------------- /infra/k8s/admin-api/base/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/admin-api/base/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/admin-api/base/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/admin-api/base/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/admin-api/base/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/admin-api/base/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/admin-api/base/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: admin-api 5 | -------------------------------------------------------------------------------- /infra/k8s/admin-api/base/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/admin-api/base/service.yaml -------------------------------------------------------------------------------- /infra/k8s/admin-api/overlays/stage/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/admin-api/overlays/stage/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/arc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/arc/README.md -------------------------------------------------------------------------------- /infra/k8s/arc/github-app-secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/arc/github-app-secret.yaml -------------------------------------------------------------------------------- /infra/k8s/arc/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/arc/values.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/README.md -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/admin-api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/admin-api.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/argocd.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/argocd.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/client-api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/client-api.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/frontend.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/frontend.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/internal.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/internal.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/iris.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/iris.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/minio-stage.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/minio-stage.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/plag.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/plag.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/rabbitmq.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/rabbitmq.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/applications/redis.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/applications/redis.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/github-app-repo-creds.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/github-app-repo-creds.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/notifications-secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/notifications-secret.yaml -------------------------------------------------------------------------------- /infra/k8s/argocd/notifications.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/argocd/notifications.yaml -------------------------------------------------------------------------------- /infra/k8s/client-api/base/configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/client-api/base/configmap.yaml -------------------------------------------------------------------------------- /infra/k8s/client-api/base/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/client-api/base/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/client-api/base/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/client-api/base/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/client-api/base/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/client-api/base/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/client-api/base/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: client-api 5 | -------------------------------------------------------------------------------- /infra/k8s/client-api/base/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/client-api/base/service.yaml -------------------------------------------------------------------------------- /infra/k8s/cloud-beaver/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/cloud-beaver/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/cloud-beaver/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/cloud-beaver/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/cloud-beaver/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: cloud-beaver 5 | -------------------------------------------------------------------------------- /infra/k8s/cloud-beaver/pvc.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/cloud-beaver/pvc.yaml -------------------------------------------------------------------------------- /infra/k8s/cloud-beaver/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/cloud-beaver/service.yaml -------------------------------------------------------------------------------- /infra/k8s/frontend/base/configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/frontend/base/configmap.yaml -------------------------------------------------------------------------------- /infra/k8s/frontend/base/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/frontend/base/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/frontend/base/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/frontend/base/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/frontend/base/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/frontend/base/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/frontend/base/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/frontend/base/service.yaml -------------------------------------------------------------------------------- /infra/k8s/frontend/overlays/stage/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/frontend/overlays/stage/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/internal/base/admin-user.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/internal/base/admin-user.yaml -------------------------------------------------------------------------------- /infra/k8s/internal/base/dashboard-ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/internal/base/dashboard-ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/internal/base/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/internal/base/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/iris-legacy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris-legacy/README.md -------------------------------------------------------------------------------- /infra/k8s/iris-legacy/aws-credentials.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris-legacy/aws-credentials.yaml -------------------------------------------------------------------------------- /infra/k8s/iris-legacy/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris-legacy/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/iris-legacy/external-secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris-legacy/external-secret.yaml -------------------------------------------------------------------------------- /infra/k8s/iris-legacy/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: iris-legacy 5 | -------------------------------------------------------------------------------- /infra/k8s/iris/base/configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris/base/configmap.yaml -------------------------------------------------------------------------------- /infra/k8s/iris/base/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris/base/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/iris/base/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris/base/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/iris/base/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: iris 5 | -------------------------------------------------------------------------------- /infra/k8s/iris/base/rabbitmq-credentials.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris/base/rabbitmq-credentials.yaml -------------------------------------------------------------------------------- /infra/k8s/iris/overlays/stage/configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/iris/overlays/stage/configmap.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/README.md -------------------------------------------------------------------------------- /infra/k8s/minio/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: minio 5 | -------------------------------------------------------------------------------- /infra/k8s/minio/tenant-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/tenant-config.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/tenant.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/tenant.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/users/admin-api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/users/admin-api.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/users/client-api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/users/client-api.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/users/iris.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/users/iris.yaml -------------------------------------------------------------------------------- /infra/k8s/minio/users/plag.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/minio/users/plag.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/loki/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/loki/values.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/minio/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/minio/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/minio/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/minio/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/minio/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: monitoring-minio 5 | -------------------------------------------------------------------------------- /infra/k8s/monitoring/minio/tenant-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/minio/tenant-config.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/minio/tenant.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/minio/tenant.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/minio/users.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/minio/users.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/otel-collector/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/otel-collector/README.md -------------------------------------------------------------------------------- /infra/k8s/monitoring/otel-collector/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: monitoring-otel 5 | -------------------------------------------------------------------------------- /infra/k8s/monitoring/prometheus/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/prometheus/README.md -------------------------------------------------------------------------------- /infra/k8s/monitoring/promtail/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/promtail/values.yaml -------------------------------------------------------------------------------- /infra/k8s/monitoring/tempo/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/monitoring/tempo/values.yaml -------------------------------------------------------------------------------- /infra/k8s/plag/base/configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/plag/base/configmap.yaml -------------------------------------------------------------------------------- /infra/k8s/plag/base/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/plag/base/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/plag/base/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/plag/base/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/plag/base/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: plag 5 | -------------------------------------------------------------------------------- /infra/k8s/plag/base/rabbitmq-credentials.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/plag/base/rabbitmq-credentials.yaml -------------------------------------------------------------------------------- /infra/k8s/plag/overlays/stage/configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/plag/overlays/stage/configmap.yaml -------------------------------------------------------------------------------- /infra/k8s/postgres/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/postgres/README.md -------------------------------------------------------------------------------- /infra/k8s/postgres/credentials.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/postgres/credentials.yaml -------------------------------------------------------------------------------- /infra/k8s/postgres/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/postgres/deployment.yaml -------------------------------------------------------------------------------- /infra/k8s/postgres/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: postgres 5 | -------------------------------------------------------------------------------- /infra/k8s/postgres/pvc.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/postgres/pvc.yaml -------------------------------------------------------------------------------- /infra/k8s/postgres/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/postgres/service.yaml -------------------------------------------------------------------------------- /infra/k8s/postgres/url.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/postgres/url.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/README.md -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/admin-credentials.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/base/admin-credentials.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/admin-user.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/base/admin-user.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/base/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/kustomization.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/base/kustomization.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: rabbitmq 5 | -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/rabbitmq-cluster.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/base/rabbitmq-cluster.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/topology-judging.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/base/topology-judging.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/base/vhost.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/base/vhost.yaml -------------------------------------------------------------------------------- /infra/k8s/rabbitmq/overlays/stage/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/rabbitmq/overlays/stage/ingress.yaml -------------------------------------------------------------------------------- /infra/k8s/redis/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/redis/README.md -------------------------------------------------------------------------------- /infra/k8s/redis/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/k8s/redis/values.yaml -------------------------------------------------------------------------------- /infra/legacy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/README.md -------------------------------------------------------------------------------- /infra/legacy/production/codedang/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/codedang/README.md -------------------------------------------------------------------------------- /infra/legacy/production/codedang/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/codedang/main.tf -------------------------------------------------------------------------------- /infra/legacy/production/codedang/modules/service_autoscaling/outputs.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/legacy/production/codedang/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/codedang/variables.tf -------------------------------------------------------------------------------- /infra/legacy/production/network/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/network/README.md -------------------------------------------------------------------------------- /infra/legacy/production/network/cloudfront.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/network/cloudfront.tf -------------------------------------------------------------------------------- /infra/legacy/production/network/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/network/main.tf -------------------------------------------------------------------------------- /infra/legacy/production/network/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/network/outputs.tf -------------------------------------------------------------------------------- /infra/legacy/production/network/route53.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/network/route53.tf -------------------------------------------------------------------------------- /infra/legacy/production/network/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/network/variables.tf -------------------------------------------------------------------------------- /infra/legacy/production/network/vpc.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/network/vpc.tf -------------------------------------------------------------------------------- /infra/legacy/production/storage/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/README.md -------------------------------------------------------------------------------- /infra/legacy/production/storage/database.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/database.tf -------------------------------------------------------------------------------- /infra/legacy/production/storage/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/main.tf -------------------------------------------------------------------------------- /infra/legacy/production/storage/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/outputs.tf -------------------------------------------------------------------------------- /infra/legacy/production/storage/redis.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/redis.tf -------------------------------------------------------------------------------- /infra/legacy/production/storage/s3_media.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/s3_media.tf -------------------------------------------------------------------------------- /infra/legacy/production/storage/s3_testcase.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/s3_testcase.tf -------------------------------------------------------------------------------- /infra/legacy/production/storage/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/production/storage/variables.tf -------------------------------------------------------------------------------- /infra/legacy/rc/acm-validation/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/acm-validation/main.tf -------------------------------------------------------------------------------- /infra/legacy/rc/acm-validation/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/acm-validation/outputs.tf -------------------------------------------------------------------------------- /infra/legacy/rc/acm-validation/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/acm-validation/variables.tf -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/README.md -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/amplify.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/amplify.tf -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/cloudfront.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/cloudfront.tf -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/codedang_api.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/codedang_api.tf -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/codedang_iris.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/codedang_iris.tf -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/main.tf -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/message_queue.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/message_queue.tf -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/modules/service_autoscaling/outputs.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/legacy/rc/codedang/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/codedang/variables.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/legacy/rc/network/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/README.md -------------------------------------------------------------------------------- /infra/legacy/rc/network/elastic_ip.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/elastic_ip.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/main.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/modules/subnet/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/modules/subnet/main.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/network_instance.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/network_instance.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/outputs.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/private_network.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/private_network.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/public_network.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/public_network.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/route53.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/route53.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/security_group.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/security_group.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/variables.tf -------------------------------------------------------------------------------- /infra/legacy/rc/network/vpc.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/network/vpc.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/.terraform.lock.hcl -------------------------------------------------------------------------------- /infra/legacy/rc/storage/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/README.md -------------------------------------------------------------------------------- /infra/legacy/rc/storage/database.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/database.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/ecr.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/ecr.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/main.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/message_queue_aws.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/message_queue_aws.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/outputs.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/redis.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/redis.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/s3_media.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/s3_media.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/s3_media_iam_user.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/s3_media_iam_user.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/s3_testcase.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/s3_testcase.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/s3_testcase_iam_user.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/s3_testcase_iam_user.tf -------------------------------------------------------------------------------- /infra/legacy/rc/storage/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/storage/variables.tf -------------------------------------------------------------------------------- /infra/legacy/rc/terraform-configuration/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/rc/terraform-configuration/main.tf -------------------------------------------------------------------------------- /infra/legacy/stage/coolify/caddy/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/stage/coolify/caddy/Dockerfile -------------------------------------------------------------------------------- /infra/legacy/stage/server2/Caddyfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/stage/server2/Caddyfile -------------------------------------------------------------------------------- /infra/legacy/stage/skku-network-proxy/Caddyfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/stage/skku-network-proxy/Caddyfile -------------------------------------------------------------------------------- /infra/legacy/stage/skku-network-proxy/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/infra/legacy/stage/skku-network-proxy/main.tf -------------------------------------------------------------------------------- /knip.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/knip.config.ts -------------------------------------------------------------------------------- /lefthook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/lefthook.yml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/renovate.json -------------------------------------------------------------------------------- /scripts/init-rabbitmq.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/scripts/init-rabbitmq.ts -------------------------------------------------------------------------------- /scripts/init-storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/scripts/init-storage.ts -------------------------------------------------------------------------------- /scripts/setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/scripts/setup.sh -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skkuding/codedang/HEAD/tsconfig.json --------------------------------------------------------------------------------