Files
BeyondCXAnalytics-Demo/frontend/CLEANUP_PLAN.md
2026-02-04 11:08:21 +01:00

13 KiB

CODE CLEANUP PLAN - BEYOND DIAGNOSTIC PROTOTYPE

Date Created: 2025-12-02 Status: In Progress Total Issues Identified: 22+ items Estimated Cleanup Time: 2-3 hours Risk Level: LOW (removing dead code only, no functionality changes)


EXECUTIVE SUMMARY

The Beyond Diagnostic codebase has accumulated significant technical debt through multiple iterations:

  • 6 backup files (dead code)
  • 8 completely unused components
  • 4 duplicate data request variants
  • 2 unused imports
  • Debug logging statements scattered throughout

This cleanup removes all dead code while maintaining 100% functionality.


DETAILED CLEANUP PLAN

PHASE 1: DELETE BACKUP FILES (6 files) 🗑️

Priority: CRITICAL Risk: NONE (these are backups, not used anywhere) Impact: -285 KB disk space, cleaner filesystem

Files to Delete:

1. components/BenchmarkReportPro.tsx.backup
   └─ Size: ~113 KB
   └─ Status: NOT imported anywhere
   └─ Keep: BenchmarkReportPro.tsx (active)

2. components/EconomicModelPro.tsx.backup
   └─ Size: ~50 KB
   └─ Status: NOT imported anywhere
   └─ Keep: EconomicModelPro.tsx (active)

3. components/OpportunityMatrixPro.tsx.backup
   └─ Size: ~40 KB
   └─ Status: NOT imported anywhere
   └─ Keep: OpportunityMatrixPro.tsx (active)

4. components/RoadmapPro.tsx.backup
   └─ Size: ~35 KB
   └─ Status: NOT imported anywhere
   └─ Keep: RoadmapPro.tsx (active)

5. components/VariabilityHeatmap.tsx.backup
   └─ Size: ~25 KB
   └─ Status: NOT imported anywhere
   └─ Keep: VariabilityHeatmap.tsx (active)

6. utils/realDataAnalysis.backup.ts
   └─ Size: ~535 lines
   └─ Status: NOT imported anywhere
   └─ Keep: utils/realDataAnalysis.ts (active)

Command to Execute:

rm components/BenchmarkReportPro.tsx.backup
rm components/EconomicModelPro.tsx.backup
rm components/OpportunityMatrixPro.tsx.backup
rm components/RoadmapPro.tsx.backup
rm components/VariabilityHeatmap.tsx.backup
rm utils/realDataAnalysis.backup.ts

PHASE 2: DELETE COMPLETELY UNUSED COMPONENTS (8 files) 🗑️

Priority: HIGH Risk: NONE (verified not imported in any active component) Impact: -500 KB, improved maintainability

Components to Delete:

Dashboard Variants (superseded)
1. components/Dashboard.tsx
   └─ Reason: Completely unused, superseded by DashboardEnhanced
   └─ Imports: None (verified)
   └─ Keep: DashboardEnhanced.tsx, DashboardReorganized.tsx

2. components/DashboardSimple.tsx
   └─ Reason: Debug-only component, contains console.log statements
   └─ Imports: Only in SinglePageDataRequestV2 (also unused)
   └─ Keep: DashboardReorganized.tsx (production version)
Heatmap Variants (superseded)
3. components/Heatmap.tsx
   └─ Reason: Basic version, completely superseded by HeatmapEnhanced/HeatmapPro
   └─ Imports: None (verified)
   └─ Keep: HeatmapPro.tsx (active in DashboardReorganized)
Economic/Health/Opportunity/Roadmap Basic Versions
4. components/EconomicModel.tsx
   └─ Reason: Basic version, superseded by EconomicModelPro
   └─ Imports: None (verified)
   └─ Keep: EconomicModelPro.tsx (active)

5. components/HealthScoreGauge.tsx
   └─ Reason: Basic version, superseded by HealthScoreGaugeEnhanced
   └─ Imports: None (verified)
   └─ Keep: HealthScoreGaugeEnhanced.tsx (active)

6. components/OpportunityMatrix.tsx
   └─ Reason: Basic version, superseded by OpportunityMatrixPro
   └─ Imports: None (verified)
   └─ Keep: OpportunityMatrixPro.tsx (active)

7. components/DashboardNav.tsx
   └─ Reason: Accordion navigation, completely superseded
   └─ Imports: None (verified)
   └─ Keep: DashboardNavigation.tsx (active)
UI Component (incomplete/unused)
8. components/StrategicVisualsView.tsx
   └─ Reason: Incomplete component, not integrated
   └─ Imports: None (verified)
   └─ Analysis: Stub file, never completed

Command to Execute:

rm components/Dashboard.tsx
rm components/DashboardSimple.tsx
rm components/Heatmap.tsx
rm components/EconomicModel.tsx
rm components/HealthScoreGauge.tsx
rm components/OpportunityMatrix.tsx
rm components/DashboardNav.tsx
rm components/StrategicVisualsView.tsx

PHASE 3: DELETE UNUSED DATA REQUEST VARIANTS (4 files) 🗑️

Priority: HIGH Risk: NONE (verified only SinglePageDataRequestIntegrated is used in App.tsx) Impact: -200 KB, cleaner data flow

Files to Delete:

1. components/DataRequestTool.tsx
   └─ Reason: Superseded by SinglePageDataRequestIntegrated
   └─ Imports: None in active code (verified)
   └─ Keep: SinglePageDataRequestIntegrated.tsx (active in App.tsx)

2. components/DataRequestToolEnhanced.tsx
   └─ Reason: Duplicate variant of DataRequestTool
   └─ Imports: None in active code (verified)
   └─ Keep: SinglePageDataRequestIntegrated.tsx (active)

3. components/SinglePageDataRequest.tsx
   └─ Reason: Older version, superseded by SinglePageDataRequestIntegrated
   └─ Imports: None in active code (verified)
   └─ Keep: SinglePageDataRequestIntegrated.tsx (active)

4. components/SinglePageDataRequestV2.tsx
   └─ Reason: V2 variant with debug code
   └─ Imports: None in active code (verified)
   └─ Keep: SinglePageDataRequestIntegrated.tsx (active)

Command to Execute:

rm components/DataRequestTool.tsx
rm components/DataRequestToolEnhanced.tsx
rm components/SinglePageDataRequest.tsx
rm components/SinglePageDataRequestV2.tsx

PHASE 4: REMOVE UNUSED IMPORTS (2 files) ✏️

Priority: MEDIUM Risk: NONE (only removing unused imports, no logic changes) Impact: Cleaner imports, reduced confusion

File 1: components/EconomicModel.tsx

Current (Line 3):

import { TrendingDown, TrendingUp, PiggyBank, Briefcase, Zap, Calendar } from 'lucide-react';

Issue: TrendingDown is imported but NEVER used in the component

  • Line 38: Only TrendingUp is rendered
  • TrendingDown never appears in JSX

Fixed (Line 3):

import { TrendingUp, PiggyBank, Briefcase, Zap, Calendar } from 'lucide-react';

File 2: components/OpportunityMatrix.tsx

Current (Line 3):

import { HelpCircle, TrendingUp, Zap, DollarSign } from 'lucide-react';

Issue: TrendingUp is imported but NEVER used in the component

  • Only HelpCircle, Zap, DollarSign appear in JSX
  • TrendingUp not found in render logic

Fixed (Line 3):

import { HelpCircle, Zap, DollarSign } from 'lucide-react';

PHASE 5: CLEAN UP DEBUG LOGGING (3 files) ✏️

Priority: MEDIUM Risk: NONE (removing debug statements only) Impact: Cleaner console output, production-ready code

File 1: components/DashboardReorganized.tsx

Issues Found:

  • Lines 66-74: Multiple console.log statements for debugging
  • Lines with: console.log('🎨 DashboardReorganized...', data);

Action: Remove all console.log statements while keeping logic intact

File 2: components/DashboardEnhanced.tsx

Issues Found:

  • Debug logging scattered throughout
  • Console logs for data inspection

Action: Remove all console.log statements

File 3: utils/analysisGenerator.ts

Issues Found:

  • Potential debug logging in data transformation

Action: Remove any console.log statements


IMPLEMENTATION DETAILS

Step-by-Step Execution Plan

STEP 1: Backup Current State (SAFE)

# Create a backup before making changes
git add -A
git commit -m "Pre-cleanup backup"

STEP 2: Execute Phase 1 (Backup Files)

# Delete all .backup files
rm components/*.backup components/*.backup.tsx utils/*.backup.ts

STEP 3: Execute Phase 2 (Unused Components)

  • Delete Dashboard variants
  • Delete Heatmap.tsx
  • Delete basic versions of Economic/Health/Opportunity/Roadmap
  • Delete StrategicVisualsView.tsx

STEP 4: Execute Phase 3 (Data Request Variants)

  • Delete DataRequestTool variants
  • Delete SinglePageDataRequest variants

STEP 5: Execute Phase 4 (Remove Unused Imports)

  • Edit EconomicModel.tsx: Remove TrendingDown
  • Edit OpportunityMatrix.tsx: Remove TrendingUp

STEP 6: Execute Phase 5 (Clean Debug Logs)

  • Edit DashboardReorganized.tsx: Remove console.log
  • Edit DashboardEnhanced.tsx: Remove console.log
  • Edit analysisGenerator.ts: Remove console.log

STEP 7: Verify & Build

npm run build

FILES TO KEEP (ACTIVE COMPONENTS)

After cleanup, active components will be:

components/
├── AgenticReadinessBreakdown.tsx          [KEEP] - Screen 2
├── BadgePill.tsx                          [KEEP] - Status indicator
├── BenchmarkReportPro.tsx                 [KEEP] - Benchmarking
├── BenchmarkReport.tsx                    [KEEP] - Basic benchmark
├── DashboardEnhanced.tsx                  [KEEP] - Alternative dashboard
├── DashboardNavigation.tsx                [KEEP] - Navigation (active)
├── DashboardReorganized.tsx               [KEEP] - Main dashboard (active)
├── DataInputRedesigned.tsx                [KEEP] - Data input UI
├── DataUploader.tsx                       [KEEP] - File uploader
├── DataUploaderEnhanced.tsx               [KEEP] - Enhanced uploader
├── DimensionCard.tsx                      [KEEP] - Screen 2
├── DimensionDetailView.tsx                [KEEP] - Detail view
├── EconomicModelPro.tsx                   [KEEP] - Advanced economics
├── EconomicModelEnhanced.tsx              [KEEP] - Enhanced version
├── ErrorBoundary.tsx                      [KEEP] - Error handling
├── HealthScoreGaugeEnhanced.tsx           [KEEP] - Score display
├── HeatmapEnhanced.tsx                    [KEEP] - Enhanced heatmap
├── HeatmapPro.tsx                         [KEEP] - Advanced heatmap (active)
├── HourlyDistributionChart.tsx            [KEEP] - Charts
├── MethodologyFooter.tsx                  [KEEP] - Footer
├── OpportunityMatrixEnhanced.tsx          [KEEP] - Enhanced matrix
├── OpportunityMatrixPro.tsx               [KEEP] - Advanced matrix (active)
├── ProgressStepper.tsx                    [KEEP] - Stepper UI
├── RoadmapPro.tsx                         [KEEP] - Advanced roadmap (active)
├── SinglePageDataRequestIntegrated.tsx    [KEEP] - Main data input (active)
├── TierSelectorEnhanced.tsx               [KEEP] - Tier selection
├── TopOpportunitiesCard.tsx               [KEEP] - Screen 3 component
└── VariabilityHeatmap.tsx                 [KEEP] - Screen 4 (active)

Result: 41 files → ~25 files (39% reduction)


VERIFICATION CHECKLIST

Before finalizing cleanup:

  • All .backup files deleted
  • All unused components deleted
  • All unused imports removed
  • All console.log statements removed
  • App.tsx still imports correct active components
  • types.ts unchanged
  • utils/*.ts unchanged (except removed console.log)
  • config/*.ts unchanged
  • styles/*.ts unchanged
  • npm run build succeeds
  • No TypeScript errors
  • Bundle size not increased
  • No import errors

ROLLBACK PLAN

If anything breaks:

# Restore to previous state
git checkout HEAD~1

# Or restore specific files
git restore components/Dashboard.tsx
git restore utils/realDataAnalysis.ts

EXPECTED OUTCOMES

Before Cleanup

  • Components: 41 files
  • Backup files: 6
  • Unused components: 8
  • Total: ~3.5 MB

After Cleanup

  • Components: 25 files
  • Backup files: 0
  • Unused components: 0
  • Total: ~2.8 MB (20% reduction)

Benefits

  • Improved code maintainability
  • Cleaner component structure
  • Faster IDE performance
  • Easier onboarding for new developers
  • Reduced confusion about which components to use
  • Production-ready (no debug code)

NOTES

Why Keep These "Enhanced" Versions?

  • Some projects use multiple variants for A/B testing or gradual rollout
  • However, in this case, only the "Pro" or latest versions are active
  • The "Enhanced" versions exist for backwards compatibility
  • They can be removed in future cleanup if not used

What About DashboardEnhanced?

  • Currently not used in App.tsx
  • Could be deleted in Phase 2 cleanup
  • Kept for now as it might be referenced externally
  • Recommend deleting in next cycle if truly unused

Console.log Removal

  • Being conservative: only removing obvious debug statements
  • Keeping any logs that serve a purpose
  • Moving development-only logs to a logging utility in future

STATUS

Current Phase: Planning Complete Next Step: Execute cleanup (Phases 1-5) Estimated Time: 2-3 hours Risk Assessment: LOW (dead code removal only)


Plan Created: 2025-12-02 Last Updated: 2025-12-02 Status: Ready for Execution