A beautiful, Apple-inspired dashboard built with Next.js and AmCharts for visualizing loan application data analytics.
- π¨ Apple-like UI: Clean, minimalist design with smooth animations
- π Interactive Charts: Powered by AmCharts 5
- π Key Metrics: Overview cards with important statistics
- π Detailed Analysis:
- Target distribution (default vs non-default)
- Default rates by categorical variables
- Age group analysis
- Credit amount analysis
- Node.js 18+ and npm/yarn
- Python 3.8+ (for data processing)
- Install dependencies:
cd dashboard
npm install- Process the data:
# Using Python (recommended - faster for large datasets)
python scripts/process-data.py
# OR using Node.js
npm run process-data- Start the development server:
npm run dev- Open http://localhost:3000 in your browser.
dashboard/
βββ app/
β βββ layout.tsx # Root layout
β βββ page.tsx # Main page
β βββ globals.css # Global styles
βββ components/
β βββ Dashboard.tsx # Main dashboard component
β βββ MetricCard.tsx # Metric card component
β βββ charts/
β βββ TargetDistributionChart.tsx
β βββ DefaultRatesChart.tsx
β βββ AgeAnalysisChart.tsx
β βββ CreditAnalysisChart.tsx
βββ scripts/
β βββ process-data.py # Python data processing script
β βββ process-data.js # Node.js data processing script
βββ public/
βββ data/
βββ dashboard-data.json # Processed data (generated)
The data processing scripts read the CSV files from ../data_dvd/ and generate a JSON file at public/data/dashboard-data.json with:
- Target distribution statistics
- Default rates by categorical variables (gender, contract type, income type, etc.)
- Age group analysis
- Credit amount analysis
- Key metrics (total applications, default rate, averages, etc.)
npm run build
npm start- Next.js 14: React framework
- TypeScript: Type safety
- AmCharts 5: Interactive charts
- Pandas (Python): Data processing
- PapaParse (Node.js): CSV parsing
The dashboard follows Apple's design principles:
- Clean, spacious layouts
- Subtle shadows and rounded corners
- Smooth hover animations
- High contrast for readability
- Minimal color palette (blue, green, red accents)
MIT