How sritanvi10/data-cleaning-agent works
Data Mining Lab is a browser-based dataset-cleaning and classic data-mining application. Users upload or load a dataset, inspect its profile, optionally accept or edit cleaning advice, apply reversible transformations to a working copy, then compare, export, or run association, tree-classification, and clustering analyses. The graph shows the React/API boundary and the backend’s dataset, cleaning, and mining responsibilities. Backend service-to-service links follow the documented architecture and indexed imports; unsampled implementation details are not inferred.
Main entry points: routes.py Cleaning HTTP routes · mining_routes.py Mining HTTP routes · App.tsx Page shell · api.ts Typed API client
Components 22
Frontend experience
- Page shell
frontend/src/App.tsx - App state
frontend/src/hooks/useApp.tsx - Typed API client
frontend/src/services/api.ts - Cleaning pages
frontend/src/pages/Profiling.tsx - Mining pages
frontend/src/pages/Association.tsx - Mining visualizations
frontend/src/components/mining.tsx
HTTP API
- Cleaning HTTP routes
backend/app/api/routes.py - Mining HTTP routes
backend/app/api/mining_routes.py
Dataset workspace
- Dataset loader
backend/app/services/loader.py - Dataset sessions
backend/app/services/workspace.py
Cleaning services
- Profiler and quality
backend/app/services/profiler.py - Validation rules
backend/app/services/validation.py - Cleaning advice
backend/app/services/recommender.py - Transformation engine
backend/app/services/transforms.py - Before-after comparison
backend/app/services/comparison.py - Data export
backend/app/services/exporter.py - Audit reports
backend/app/services/reporting.py
Mining services
- Association mining
backend/app/services/mining/association.py - Decision trees
backend/app/services/mining/trees.py - Clustering
backend/app/services/mining/clustering.py - Bundled samples
backend/app/services/mining/samples.py
Other components
- Dataset user
Connections 24
- Dataset user → Page shell: uses
- Page shell → Cleaning pages: routes to
frontend/src/App.tsx - Page shell → Mining pages: routes to
frontend/src/App.tsx - Cleaning pages → App state: uses
frontend/src/pages/Profiling.tsx - Mining pages → App state: uses
frontend/src/pages/Association.tsx - Mining pages → Mining visualizations: renders
frontend/src/pages/Association.tsx - App state → Typed API client: calls
frontend/src/hooks/useApp.tsx - Typed API client → Cleaning HTTP routes: HTTP requests
- Typed API client → Mining HTTP routes: HTTP requests
- Cleaning HTTP routes → Dataset loader: loads uploads
backend/app/api/routes.py - Cleaning HTTP routes → Dataset sessions: delegates dataset actions
backend/app/api/routes.py - Mining HTTP routes → Dataset sessions: reads working copy
backend/app/api/mining_routes.py - Mining HTTP routes → Bundled samples: loads samples
backend/app/api/mining_routes.py - Mining HTTP routes → Association mining: runs association
backend/app/api/mining_routes.py - Cleaning HTTP routes → Profiler and quality: profiles datasets
- Profiler and quality → Validation rules: applies rules
backend/app/services/profiler.py - Cleaning HTTP routes → Cleaning advice: requests recommendations
backend/app/api/routes.py - Cleaning HTTP routes → Transformation engine: applies operations
backend/app/api/routes.py - Dataset sessions → Transformation engine: replays pipeline
backend/app/services/workspace.py - Cleaning HTTP routes → Before-after comparison: builds comparison
backend/app/api/routes.py - Cleaning HTTP routes → Data export: exports data
backend/app/api/routes.py - Cleaning HTTP routes → Audit reports: generates reports
backend/app/api/routes.py - Mining HTTP routes → Decision trees: runs classification
backend/app/api/mining_routes.py - Mining HTTP routes → Clustering: runs clustering
backend/app/api/mining_routes.py