diff --git a/.gitignore b/.gitignore index 26f8dcc..b683492 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,7 @@ MULTI_LANGUAGE_PLAN.md scripts/collapse_code_blocks.py .gitignore scripts/verify.sh +REFACTORING_PLAN.md +.gitignore +.gitignore +REFACTORING_REPORT.md diff --git a/docs/.vitepress/theme/components/appendix/api-design/DocumentationDemo.vue b/docs/.vitepress/theme/components/appendix/api-design/DocumentationDemo.vue index ea59c4f..5d24ab1 100644 --- a/docs/.vitepress/theme/components/appendix/api-design/DocumentationDemo.vue +++ b/docs/.vitepress/theme/components/appendix/api-design/DocumentationDemo.vue @@ -1,50 +1,496 @@ + diff --git a/docs/.vitepress/theme/components/appendix/api-design/ErrorHandlingDemo.vue b/docs/.vitepress/theme/components/appendix/api-design/ErrorHandlingDemo.vue index ecc0d11..5aa4145 100644 --- a/docs/.vitepress/theme/components/appendix/api-design/ErrorHandlingDemo.vue +++ b/docs/.vitepress/theme/components/appendix/api-design/ErrorHandlingDemo.vue @@ -1,97 +1,379 @@ + + + diff --git a/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue b/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue index 7144057..1fd0015 100644 --- a/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue +++ b/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue @@ -1,50 +1,397 @@ + diff --git a/docs/.vitepress/theme/components/appendix/api-design/VersioningStrategyDemo.vue b/docs/.vitepress/theme/components/appendix/api-design/VersioningStrategyDemo.vue index cdce418..3769edc 100644 --- a/docs/.vitepress/theme/components/appendix/api-design/VersioningStrategyDemo.vue +++ b/docs/.vitepress/theme/components/appendix/api-design/VersioningStrategyDemo.vue @@ -1,50 +1,413 @@ + diff --git a/docs/.vitepress/theme/components/appendix/backend-evolution/ArchitectureComparisonDemo.vue b/docs/.vitepress/theme/components/appendix/backend-evolution/ArchitectureComparisonDemo.vue index 429024c..e0e9259 100644 --- a/docs/.vitepress/theme/components/appendix/backend-evolution/ArchitectureComparisonDemo.vue +++ b/docs/.vitepress/theme/components/appendix/backend-evolution/ArchitectureComparisonDemo.vue @@ -1,8 +1,9 @@ @@ -108,24 +114,35 @@ const currentEra = computed(() => { border: 1px solid var(--vp-c-divider); border-radius: 8px; background: var(--vp-c-bg-soft); - padding: 1.5rem; + padding: 1rem; margin: 1rem 0; + max-height: 600px; + overflow-y: auto; } .demo-header { - margin-bottom: 1.5rem; + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 1rem; + padding-bottom: 0.75rem; + border-bottom: 1px solid var(--vp-c-divider); } -.demo-header h4 { - margin: 0 0 0.5rem 0; - font-size: 1.1rem; +.demo-header .icon { + font-size: 1.25rem; +} + +.demo-header .title { + font-weight: bold; + font-size: 1rem; color: var(--vp-c-text-1); } -.demo-header p { - margin: 0; - font-size: 0.9rem; +.demo-header .subtitle { color: var(--vp-c-text-2); + font-size: 0.85rem; + margin-left: 0.5rem; } .comparison-grid { @@ -152,8 +169,7 @@ const currentEra = computed(() => { .era-card.active { border-color: var(--vp-c-brand); - background: rgba(102, 126, 234, 0.1); - box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2); + background: var(--vp-c-brand-soft); } .era-icon { @@ -271,6 +287,25 @@ const currentEra = computed(() => { color: var(--vp-c-text-2); } +.info-box { + background: var(--vp-c-bg-alt); + padding: 0.75rem; + border-radius: 6px; + font-size: 0.85rem; + color: var(--vp-c-text-2); + margin-top: 0.75rem; + display: flex; + gap: 0.25rem; +} + +.info-box .icon { + flex-shrink: 0; +} + +.info-box strong { + color: var(--vp-c-text-1); +} + @media (max-width: 768px) { .comparison-grid { grid-template-columns: repeat(2, 1fr); diff --git a/docs/.vitepress/theme/components/appendix/backend-evolution/ContainerDockerDemo.vue b/docs/.vitepress/theme/components/appendix/backend-evolution/ContainerDockerDemo.vue index 373038b..8ee6284 100644 --- a/docs/.vitepress/theme/components/appendix/backend-evolution/ContainerDockerDemo.vue +++ b/docs/.vitepress/theme/components/appendix/backend-evolution/ContainerDockerDemo.vue @@ -1,8 +1,9 @@ @@ -69,24 +75,35 @@ const benefits = [ border: 1px solid var(--vp-c-divider); border-radius: 8px; background: var(--vp-c-bg-soft); - padding: 1.5rem; + padding: 1rem; margin: 1rem 0; + max-height: 600px; + overflow-y: auto; } .demo-header { - margin-bottom: 1.5rem; + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 1rem; + padding-bottom: 0.75rem; + border-bottom: 1px solid var(--vp-c-divider); } -.demo-header h4 { - margin: 0 0 0.5rem 0; - font-size: 1.1rem; +.demo-header .icon { + font-size: 1.25rem; +} + +.demo-header .title { + font-weight: bold; + font-size: 1rem; color: var(--vp-c-text-1); } -.demo-header p { - margin: 0; - font-size: 0.9rem; +.demo-header .subtitle { color: var(--vp-c-text-2); + font-size: 0.85rem; + margin-left: 0.5rem; } .docker-visualization { @@ -268,4 +285,23 @@ const benefits = [ grid-template-columns: 1fr; } } + +.info-box { + background: var(--vp-c-bg-alt); + padding: 0.75rem; + border-radius: 6px; + font-size: 0.85rem; + color: var(--vp-c-text-2); + margin-top: 1rem; + display: flex; + gap: 0.25rem; +} + +.info-box .icon { + flex-shrink: 0; +} + +.info-box strong { + color: var(--vp-c-text-1); +} diff --git a/docs/.vitepress/theme/components/appendix/backend-evolution/EvolutionIntroDemo.vue b/docs/.vitepress/theme/components/appendix/backend-evolution/EvolutionIntroDemo.vue index 7e1cb8a..1f3cbd6 100644 --- a/docs/.vitepress/theme/components/appendix/backend-evolution/EvolutionIntroDemo.vue +++ b/docs/.vitepress/theme/components/appendix/backend-evolution/EvolutionIntroDemo.vue @@ -1,8 +1,9 @@ @@ -116,84 +122,95 @@ const stages = [ diff --git a/docs/.vitepress/theme/components/appendix/backend-evolution/MonolithDemo.vue b/docs/.vitepress/theme/components/appendix/backend-evolution/MonolithDemo.vue index 25c0e6f..0ca6831 100644 --- a/docs/.vitepress/theme/components/appendix/backend-evolution/MonolithDemo.vue +++ b/docs/.vitepress/theme/components/appendix/backend-evolution/MonolithDemo.vue @@ -1,8 +1,9 @@ @@ -136,24 +133,35 @@ const reset = () => { border: 1px solid var(--vp-c-divider); border-radius: 8px; background: var(--vp-c-bg-soft); - padding: 1.5rem; + padding: 1rem; margin: 1rem 0; + max-height: 600px; + overflow-y: auto; } .demo-header { - margin-bottom: 1.5rem; + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 1rem; + padding-bottom: 0.75rem; + border-bottom: 1px solid var(--vp-c-divider); } -.demo-header h4 { - margin: 0 0 0.5rem 0; - font-size: 1.1rem; +.demo-header .icon { + font-size: 1.25rem; +} + +.demo-header .title { + font-weight: bold; + font-size: 1rem; color: var(--vp-c-text-1); } -.demo-header p { - margin: 0; - font-size: 0.9rem; +.demo-header .subtitle { color: var(--vp-c-text-2); + font-size: 0.85rem; + margin-left: 0.5rem; } .monolith-diagram { @@ -378,4 +386,23 @@ const reset = () => { flex-wrap: wrap; } } + +.info-box { + background: var(--vp-c-bg-alt); + padding: 0.75rem; + border-radius: 6px; + font-size: 0.85rem; + color: var(--vp-c-text-2); + margin-top: 1rem; + display: flex; + gap: 0.25rem; +} + +.info-box .icon { + flex-shrink: 0; +} + +.info-box strong { + color: var(--vp-c-text-1); +} diff --git a/docs/.vitepress/theme/components/appendix/backend-evolution/PhysicalServerDemo.vue b/docs/.vitepress/theme/components/appendix/backend-evolution/PhysicalServerDemo.vue index 4e99281..c5ee914 100644 --- a/docs/.vitepress/theme/components/appendix/backend-evolution/PhysicalServerDemo.vue +++ b/docs/.vitepress/theme/components/appendix/backend-evolution/PhysicalServerDemo.vue @@ -1,8 +1,9 @@ @@ -192,24 +175,35 @@ const sendRequest = async () => { border: 1px solid var(--vp-c-divider); border-radius: 8px; background: var(--vp-c-bg-soft); - padding: 1.5rem; + padding: 1rem; margin: 1rem 0; + max-height: 600px; + overflow-y: auto; } .demo-header { - margin-bottom: 1.5rem; + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 1rem; + padding-bottom: 0.75rem; + border-bottom: 1px solid var(--vp-c-divider); } -.demo-header h4 { - margin: 0 0 0.5rem 0; - font-size: 1.1rem; +.demo-header .icon { + font-size: 1.25rem; +} + +.demo-header .title { + font-weight: bold; + font-size: 1rem; color: var(--vp-c-text-1); } -.demo-header p { - margin: 0; - font-size: 0.9rem; +.demo-header .subtitle { color: var(--vp-c-text-2); + font-size: 0.85rem; + margin-left: 0.5rem; } .demo-stage { @@ -472,4 +466,23 @@ const sendRequest = async () => { height: 3px; } } + +.info-box { + background: var(--vp-c-bg-alt); + padding: 0.75rem; + border-radius: 6px; + font-size: 0.85rem; + color: var(--vp-c-text-2); + margin-top: 1rem; + display: flex; + gap: 0.25rem; +} + +.info-box .icon { + flex-shrink: 0; +} + +.info-box strong { + color: var(--vp-c-text-1); +} diff --git a/docs/.vitepress/theme/components/appendix/backend-evolution/TechStackTimelineDemo.vue b/docs/.vitepress/theme/components/appendix/backend-evolution/TechStackTimelineDemo.vue index f6b1591..46de486 100644 --- a/docs/.vitepress/theme/components/appendix/backend-evolution/TechStackTimelineDemo.vue +++ b/docs/.vitepress/theme/components/appendix/backend-evolution/TechStackTimelineDemo.vue @@ -1,8 +1,9 @@