diff --git a/.browserslistrc b/client/.browserslistrc similarity index 100% rename from .browserslistrc rename to client/.browserslistrc diff --git a/.env b/client/.env similarity index 100% rename from .env rename to client/.env diff --git a/.env.production b/client/.env.production similarity index 100% rename from .env.production rename to client/.env.production diff --git a/.env.staging b/client/.env.staging similarity index 100% rename from .env.staging rename to client/.env.staging diff --git a/.github/workflows/deploy.yaml b/client/.github/workflows/deploy.yaml similarity index 100% rename from .github/workflows/deploy.yaml rename to client/.github/workflows/deploy.yaml diff --git a/.gitignore b/client/.gitignore similarity index 100% rename from .gitignore rename to client/.gitignore diff --git a/.prettierrc.toml b/client/.prettierrc.toml similarity index 100% rename from .prettierrc.toml rename to client/.prettierrc.toml diff --git a/.vscode/extensions.json b/client/.vscode/extensions.json similarity index 100% rename from .vscode/extensions.json rename to client/.vscode/extensions.json diff --git a/README.md b/client/README.md similarity index 100% rename from README.md rename to client/README.md diff --git a/index.html b/client/index.html similarity index 100% rename from index.html rename to client/index.html diff --git a/package-lock.json b/client/package-lock.json similarity index 100% rename from package-lock.json rename to client/package-lock.json diff --git a/package.json b/client/package.json similarity index 100% rename from package.json rename to client/package.json diff --git a/public/Monaco.ttf b/client/public/Monaco.ttf similarity index 100% rename from public/Monaco.ttf rename to client/public/Monaco.ttf diff --git a/public/demo/1.html b/client/public/demo/1.html similarity index 100% rename from public/demo/1.html rename to client/public/demo/1.html diff --git a/public/favicon.ico b/client/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to client/public/favicon.ico diff --git a/public/jquery.min.js b/client/public/jquery.min.js similarity index 100% rename from public/jquery.min.js rename to client/public/jquery.min.js diff --git a/public/normalize.min.css b/client/public/normalize.min.css similarity index 100% rename from public/normalize.min.css rename to client/public/normalize.min.css diff --git a/public/noto--honeybee.ico b/client/public/noto--honeybee.ico similarity index 100% rename from public/noto--honeybee.ico rename to client/public/noto--honeybee.ico diff --git a/public/style.css b/client/public/style.css similarity index 100% rename from public/style.css rename to client/public/style.css diff --git a/rsbuild.config.ts b/client/rsbuild.config.ts similarity index 100% rename from rsbuild.config.ts rename to client/rsbuild.config.ts diff --git a/src/App.vue b/client/src/App.vue similarity index 100% rename from src/App.vue rename to client/src/App.vue diff --git a/src/api.ts b/client/src/api.ts similarity index 100% rename from src/api.ts rename to client/src/api.ts diff --git a/src/components/Login.vue b/client/src/components/Login.vue similarity index 100% rename from src/components/Login.vue rename to client/src/components/Login.vue diff --git a/src/components/ai/ExternalAIPanel.vue b/client/src/components/ai/ExternalAIPanel.vue similarity index 100% rename from src/components/ai/ExternalAIPanel.vue rename to client/src/components/ai/ExternalAIPanel.vue diff --git a/src/components/ai/GuidancePanel.vue b/client/src/components/ai/GuidancePanel.vue similarity index 100% rename from src/components/ai/GuidancePanel.vue rename to client/src/components/ai/GuidancePanel.vue diff --git a/src/components/ai/PromptHistoryPanel.vue b/client/src/components/ai/PromptHistoryPanel.vue similarity index 100% rename from src/components/ai/PromptHistoryPanel.vue rename to client/src/components/ai/PromptHistoryPanel.vue diff --git a/src/components/ai/PromptPanel.vue b/client/src/components/ai/PromptPanel.vue similarity index 100% rename from src/components/ai/PromptPanel.vue rename to client/src/components/ai/PromptPanel.vue diff --git a/src/components/ai/RandomRatingModal.vue b/client/src/components/ai/RandomRatingModal.vue similarity index 100% rename from src/components/ai/RandomRatingModal.vue rename to client/src/components/ai/RandomRatingModal.vue diff --git a/src/components/dashboard/MarkdownEditor.vue b/client/src/components/dashboard/MarkdownEditor.vue similarity index 100% rename from src/components/dashboard/MarkdownEditor.vue rename to client/src/components/dashboard/MarkdownEditor.vue diff --git a/src/components/dashboard/UserActions.vue b/client/src/components/dashboard/UserActions.vue similarity index 100% rename from src/components/dashboard/UserActions.vue rename to client/src/components/dashboard/UserActions.vue diff --git a/src/components/editor/Editor.vue b/client/src/components/editor/Editor.vue similarity index 100% rename from src/components/editor/Editor.vue rename to client/src/components/editor/Editor.vue diff --git a/src/components/editor/Editors.vue b/client/src/components/editor/Editors.vue similarity index 100% rename from src/components/editor/Editors.vue rename to client/src/components/editor/Editors.vue diff --git a/src/components/editor/Preview.vue b/client/src/components/editor/Preview.vue similarity index 100% rename from src/components/editor/Preview.vue rename to client/src/components/editor/Preview.vue diff --git a/src/components/editor/Toolbar.vue b/client/src/components/editor/Toolbar.vue similarity index 100% rename from src/components/editor/Toolbar.vue rename to client/src/components/editor/Toolbar.vue diff --git a/src/components/submissions/ChainModal.vue b/client/src/components/submissions/ChainModal.vue similarity index 100% rename from src/components/submissions/ChainModal.vue rename to client/src/components/submissions/ChainModal.vue diff --git a/src/components/submissions/CodeModal.vue b/client/src/components/submissions/CodeModal.vue similarity index 100% rename from src/components/submissions/CodeModal.vue rename to client/src/components/submissions/CodeModal.vue diff --git a/src/components/submissions/ExpandedSubTable.vue b/client/src/components/submissions/ExpandedSubTable.vue similarity index 100% rename from src/components/submissions/ExpandedSubTable.vue rename to client/src/components/submissions/ExpandedSubTable.vue diff --git a/src/components/submissions/FlagCell.vue b/client/src/components/submissions/FlagCell.vue similarity index 100% rename from src/components/submissions/FlagCell.vue rename to client/src/components/submissions/FlagCell.vue diff --git a/src/components/submissions/TaskTitle.vue b/client/src/components/submissions/TaskTitle.vue similarity index 100% rename from src/components/submissions/TaskTitle.vue rename to client/src/components/submissions/TaskTitle.vue diff --git a/src/components/task/ChallengeList.vue b/client/src/components/task/ChallengeList.vue similarity index 100% rename from src/components/task/ChallengeList.vue rename to client/src/components/task/ChallengeList.vue diff --git a/src/components/task/TaskAssetManager.vue b/client/src/components/task/TaskAssetManager.vue similarity index 100% rename from src/components/task/TaskAssetManager.vue rename to client/src/components/task/TaskAssetManager.vue diff --git a/src/components/task/TaskPanel.vue b/client/src/components/task/TaskPanel.vue similarity index 100% rename from src/components/task/TaskPanel.vue rename to client/src/components/task/TaskPanel.vue diff --git a/src/components/task/TaskStatsModal.vue b/client/src/components/task/TaskStatsModal.vue similarity index 100% rename from src/components/task/TaskStatsModal.vue rename to client/src/components/task/TaskStatsModal.vue diff --git a/src/components/task/TutorialContent.vue b/client/src/components/task/TutorialContent.vue similarity index 100% rename from src/components/task/TutorialContent.vue rename to client/src/components/task/TutorialContent.vue diff --git a/src/env.d.ts b/client/src/env.d.ts similarity index 100% rename from src/env.d.ts rename to client/src/env.d.ts diff --git a/src/global.css b/client/src/global.css similarity index 100% rename from src/global.css rename to client/src/global.css diff --git a/src/main.ts b/client/src/main.ts similarity index 100% rename from src/main.ts rename to client/src/main.ts diff --git a/src/pages/ChallengeDetail.vue b/client/src/pages/ChallengeDetail.vue similarity index 100% rename from src/pages/ChallengeDetail.vue rename to client/src/pages/ChallengeDetail.vue diff --git a/src/pages/ChallengeEditor.vue b/client/src/pages/ChallengeEditor.vue similarity index 100% rename from src/pages/ChallengeEditor.vue rename to client/src/pages/ChallengeEditor.vue diff --git a/src/pages/CreationDetail.vue b/client/src/pages/CreationDetail.vue similarity index 100% rename from src/pages/CreationDetail.vue rename to client/src/pages/CreationDetail.vue diff --git a/src/pages/CreationHome.vue b/client/src/pages/CreationHome.vue similarity index 100% rename from src/pages/CreationHome.vue rename to client/src/pages/CreationHome.vue diff --git a/src/pages/Dashboard.vue b/client/src/pages/Dashboard.vue similarity index 100% rename from src/pages/Dashboard.vue rename to client/src/pages/Dashboard.vue diff --git a/src/pages/Gradebook.vue b/client/src/pages/Gradebook.vue similarity index 100% rename from src/pages/Gradebook.vue rename to client/src/pages/Gradebook.vue diff --git a/src/pages/Showcase.vue b/client/src/pages/Showcase.vue similarity index 100% rename from src/pages/Showcase.vue rename to client/src/pages/Showcase.vue diff --git a/src/pages/ShowcaseManage.vue b/client/src/pages/ShowcaseManage.vue similarity index 100% rename from src/pages/ShowcaseManage.vue rename to client/src/pages/ShowcaseManage.vue diff --git a/src/pages/Submission.vue b/client/src/pages/Submission.vue similarity index 100% rename from src/pages/Submission.vue rename to client/src/pages/Submission.vue diff --git a/src/pages/Submissions.vue b/client/src/pages/Submissions.vue similarity index 100% rename from src/pages/Submissions.vue rename to client/src/pages/Submissions.vue diff --git a/src/pages/TutorialEditor.vue b/client/src/pages/TutorialEditor.vue similarity index 100% rename from src/pages/TutorialEditor.vue rename to client/src/pages/TutorialEditor.vue diff --git a/src/pages/UserManage.vue b/client/src/pages/UserManage.vue similarity index 100% rename from src/pages/UserManage.vue rename to client/src/pages/UserManage.vue diff --git a/src/pages/Workspace.vue b/client/src/pages/Workspace.vue similarity index 100% rename from src/pages/Workspace.vue rename to client/src/pages/Workspace.vue diff --git a/src/router.ts b/client/src/router.ts similarity index 100% rename from src/router.ts rename to client/src/router.ts diff --git a/src/store/editors.ts b/client/src/store/editors.ts similarity index 100% rename from src/store/editors.ts rename to client/src/store/editors.ts diff --git a/src/store/guidance.ts b/client/src/store/guidance.ts similarity index 100% rename from src/store/guidance.ts rename to client/src/store/guidance.ts diff --git a/src/store/modal.ts b/client/src/store/modal.ts similarity index 100% rename from src/store/modal.ts rename to client/src/store/modal.ts diff --git a/src/store/panel.ts b/client/src/store/panel.ts similarity index 100% rename from src/store/panel.ts rename to client/src/store/panel.ts diff --git a/src/store/prompt.ts b/client/src/store/prompt.ts similarity index 100% rename from src/store/prompt.ts rename to client/src/store/prompt.ts diff --git a/src/store/submission.ts b/client/src/store/submission.ts similarity index 100% rename from src/store/submission.ts rename to client/src/store/submission.ts diff --git a/src/store/task.ts b/client/src/store/task.ts similarity index 100% rename from src/store/task.ts rename to client/src/store/task.ts diff --git a/src/store/tutorial.ts b/client/src/store/tutorial.ts similarity index 100% rename from src/store/tutorial.ts rename to client/src/store/tutorial.ts diff --git a/src/store/user.ts b/client/src/store/user.ts similarity index 100% rename from src/store/user.ts rename to client/src/store/user.ts diff --git a/src/utils/const.ts b/client/src/utils/const.ts similarity index 100% rename from src/utils/const.ts rename to client/src/utils/const.ts diff --git a/src/utils/gradebook.ts b/client/src/utils/gradebook.ts similarity index 100% rename from src/utils/gradebook.ts rename to client/src/utils/gradebook.ts diff --git a/src/utils/helper.ts b/client/src/utils/helper.ts similarity index 100% rename from src/utils/helper.ts rename to client/src/utils/helper.ts diff --git a/src/utils/markdown.ts b/client/src/utils/markdown.ts similarity index 100% rename from src/utils/markdown.ts rename to client/src/utils/markdown.ts diff --git a/src/utils/previewDocument.ts b/client/src/utils/previewDocument.ts similarity index 100% rename from src/utils/previewDocument.ts rename to client/src/utils/previewDocument.ts diff --git a/src/utils/type.ts b/client/src/utils/type.ts similarity index 100% rename from src/utils/type.ts rename to client/src/utils/type.ts diff --git a/tsconfig.app.json b/client/tsconfig.app.json similarity index 100% rename from tsconfig.app.json rename to client/tsconfig.app.json diff --git a/tsconfig.json b/client/tsconfig.json similarity index 100% rename from tsconfig.json rename to client/tsconfig.json diff --git a/tsconfig.node.json b/client/tsconfig.node.json similarity index 100% rename from tsconfig.node.json rename to client/tsconfig.node.json