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