A production-grade frontend-only enterprise analytics dashboard that simulates a real-world data engineering and business intelligence platform. Monitor ETL pipelines, API performance, data freshness, user segmentation, and incidents with real-time simulation and role-based access control.
- ETL Job Tracking: Monitor pipeline execution status (PENDING, RUNNING, SUCCESS, FAILED)
- Step-Level Breakdown: View detailed execution steps with logs and timing
- Retry Capabilities: Admin users can retry failed pipelines
- Bulk Retry: Select and retry multiple failed pipelines at once
- Favorites: Bookmark frequently accessed pipelines for quick access
- Records Processed: Track data volume and throughput metrics
- Environment Filtering: Separate views for production, staging, and development
- CSV Export: Export pipeline data to CSV format
- Latency Metrics: P50, P95, and P99 latency tracking across regions
- Error Rate Monitoring: Real-time error percentage with alerting
- Throughput Analysis: Requests per minute with trend indicators
- Regional Breakdown: Performance metrics across 6 global regions
- Time Range Filtering: 1h, 24h, 7d, and 30d views
- Chart Zoom/Pan: Interactive charts with zoom and pan capabilities
- Dataset Tracking: Monitor refresh schedules for critical datasets
- SLA Compliance: Visual indicators for FRESH, DELAYED, and STALE status
- Breach Notifications: Automatic SLA breach detection with activity logging
- Priority Levels: Critical, high, medium, and low priority classifications
- Owner Assignment: Track dataset ownership and responsibilities
- CSV Export: Export dataset freshness data to CSV format
- URL State Persistence: Share filtered views with URL parameters
- Segment Performance: Revenue, growth rate, and retention by segment
- Regional Distribution: Geographic user distribution with growth rates
- Plan Analysis: Free, Pro, and Enterprise plan breakdown
- Cohort Retention: Visual cohort analysis matrix
- Churn Tracking: Monitor user churn rates across segments
- Incident Management: Track active, investigating, resolved, and closed incidents
- Bulk Resolution: Resolve multiple incidents simultaneously
- Severity Levels: Critical, high, medium, and low severity classification
- MTTR Metrics: Mean Time To Resolve calculations
- Service Health: Error rates and health status by service
- Error Distribution: Breakdown by error type (runtime, timeout, database, etc.)
- CSV Export: Export incidents and error logs to CSV format
- Overall Health Score: 0-100% system health indicator
- Component Breakdown: Individual scores for pipelines, datasets, incidents, and API
- Visual Progress Bars: Real-time health visualization
- Performance Monitor: Development-mode FPS, memory, and DOM node tracking
- Data Lineage: Visual DAG showing data flow from streams through pipelines to datasets and consumers. Impact analysis with blast radius calculation.
- Cost Analytics: Infrastructure cost tracking by category (compute, storage, network, licensing). Budget monitoring with alerts and team attribution.
- Query Performance: Monitor query execution metrics, identify slow queries, and get optimization suggestions. Schema statistics and caching analysis.
- Schema Registry: Track schema evolution with version history, compatibility checking (backward/forward/full), and breaking change detection.
- Streaming Metrics: Real-time monitoring of Kafka/Kinesis streams with consumer lag tracking, throughput metrics, and partition health.
- Data Mesh: Domain-oriented data ownership visualization with data product catalog, SLAs, and federated governance.
- Live Data Updates: Simulated production environment with dynamic data
- Pipeline Status Changes: Jobs transition through states automatically
- API Metrics Fluctuation: Latency and error rates vary in real-time
- Dataset Freshness Updates: SLA compliance changes dynamically
- Incident Lifecycle: Active incidents can be resolved or escalate
- Activity Feed: Real-time logging of all system events
- Navigation: g+d (Dashboard), g+p (Pipelines), g+a (API), g+f (Freshness), g+s (Segmentation), g+i (Incidents)
- Data Engineering: g+l (Lineage), g+c (Cost Analytics), g+q (Query Performance), g+r (Schema Registry), g+t (Streaming), g+m (Data Mesh)
- Actions: / (Focus search), t (Toggle theme), r (Refresh), ? (Show shortcuts)
- Quick Access: Press ? anywhere to view all available shortcuts
- Dark/Light Theme: Toggle between themes with system preference detection
- Auto Dark Mode: Automatically switches to dark mode from 8 PM to 6 AM
- Global Search: Search across pipelines, datasets, and incidents
- Responsive Design: Collapsible sidebar, mobile-friendly navigation
- KPI Dashboard: Key metrics with trend indicators and tooltip explanations
- Interactive Charts: Line, area, bar, and pie charts with Recharts
- Virtual Scrolling: Toggle between paginated and virtual scroll for large tables
- Data Refresh Indicator: Shows last update time with animated refresh icon
- Recent Activity Feed: Real-time activity tracking with severity indicators
- Error Boundaries: Graceful error handling with retry functionality
- Performance Monitoring: FPS, memory usage, and DOM node tracking (dev mode)
- Efficient Rendering: Memoized computations and optimized re-renders
- URL State Persistence: Filter states persist in URL for shareable links
- Admin Role: Full access including retry pipelines, view logs, resolve incidents
- Viewer Role: Read-only access to dashboards and metrics
- Conditional UI: Components render based on user role
- Role Switching: Toggle between roles for testing (sidebar)
- Frontend: React 19 + TypeScript 5.7
- Build Tool: Vite 7
- Styling: Tailwind CSS v4
- Routing: TanStack Router (file-based)
- State Management: Zustand with devtools
- Data Fetching: TanStack Query
- Charts: Recharts with zoom/pan capabilities
- Icons: Lucide React
- Package Manager: pnpm
- Node.js 18+
- pnpm (recommended)
# Clone the repository
git clone <repo-url>
cd enterprise-analytics-dashboard
# Install dependencies
pnpm install
# Start development server
pnpm devThe application will be available at http://localhost:5173
pnpm buildThe production build will be in the dist directory.
- View the main dashboard for high-level metrics
- See active pipelines, data freshness status, and incidents
- Monitor API latency trends with interactive charts
- Check system health score and recent activity feed
- Access favorite pipelines quickly
- Use comparative analytics to compare periods
- Click on any metric card to navigate to detailed views
- Press
?to view all available shortcuts - Use
g+dto go to Dashboard,g+pfor Pipelines, etc. - Press
/to focus the search bar - Press
tto toggle between light and dark themes - Press
rto refresh the page
- Navigate to Pipelines from the sidebar
- View all ETL jobs with status, duration, and records processed
- Filter by status: All, Running, Failed, Success
- Toggle "Favorites" to show only bookmarked pipelines
- Select multiple failed pipelines and click "Retry Failed"
- Click the star icon to add/remove favorites
- Click on any pipeline row to view detailed execution steps
- Use the "Export CSV" button to download pipeline data
- Go to API Monitoring from the sidebar
- Select time range: 1h, 24h, 7d, or 30d
- View latency percentiles (P50, P95, P99) over time
- Use chart brush/zoom to focus on specific time periods
- Check error rates and throughput metrics
- See regional distribution and top endpoints
- Navigate to Data Freshness from the sidebar
- Filter by status: All, Fresh, Delayed, or Stale
- Monitor SLA compliance rate and delayed datasets
- View status overview with FRESH, DELAYED, and STALE counts
- Export dataset information to CSV
- Go to Segmentation from the sidebar
- View user growth trends and plan distribution
- Analyze segment performance (revenue, retention, churn)
- Check regional distribution
- Review cohort retention analysis matrix
- Navigate to Incidents from the sidebar
- Filter incidents by status: All, Active, or Resolved
- Select multiple active incidents and click "Resolve Selected"
- View active incidents with severity and status
- Check error distribution by type
- Monitor service health across all services
- Admin users can resolve individual or bulk incidents
- View detailed error logs (Admin only)
- Export incidents and errors to CSV
- Open the sidebar
- Select role from dropdown: Admin or Viewer
- UI updates automatically to show/hide admin features
- Click the sun/moon icon in the top header
- Switch between dark and light modes manually
- Or enable "Auto" mode in Settings to switch automatically (8 PM - 6 AM)
- Preference persists across sessions
src/
├── app/
│ └── globals.css # Global styles and theme variables
├── components/
│ ├── charts/ # Recharts components with zoom/pan
│ ├── error-boundary.tsx # Error boundary for graceful error handling
│ ├── health-score.tsx # System health score component
│ ├── keyboard-shortcuts-help.tsx # Keyboard shortcuts modal
│ ├── recent-activity.tsx # Activity feed component
│ ├── data-refresh-indicator.tsx # Live update indicator
│ ├── layout/ # Sidebar, Header, Layout, ThemeProvider
│ ├── tables/ # Enhanced Table with export, selection, pagination
│ └── ui/ # UI primitives (Button, Card, Badge, Checkbox, etc.)
├── features/
│ ├── about/ # About page with feature documentation
│ ├── dashboard.tsx # Main dashboard with health score and activity
│ ├── pipelines/ # Pipeline monitoring with favorites and bulk actions
│ ├── api-monitoring/ # API observability dashboard
│ ├── freshness/ # Data freshness & SLA tracking
│ ├── segmentation/ # User segmentation analytics
│ └── incidents/ # Incident tracking with bulk resolution
├── hooks/
│ ├── use-keyboard-shortcuts.ts # Keyboard navigation hooks
│ ├── use-performance-monitoring.tsx # Performance metrics tracking
│ ├── use-simulation.ts # Real-time data simulation engine
│ └── use-theme.ts # Theme management hook
├── mock-data/ # Realistic enterprise mock data
├── routes/ # TanStack Router file-based routes
├── store/
│ └── app-store.ts # Zustand state management with activity tracking
├── types/
│ ├── activity.ts # Activity log types
│ └── ... # Other TypeScript type definitions
├── utils/
│ ├── export.ts # CSV export utilities
│ └── formatting.ts # Formatting utilities
├── App.tsx # Main application component
└── main.tsx # Application entry point
- Deterministic pseudo-random data generation
- Simulates job failures, latency spikes, error bursts
- Automatic state transitions (PENDING → RUNNING → SUCCESS/FAIL)
- Memory-efficient interval management with cleanup
- Activity logging for all state changes
- Zustand: Lightweight state management with devtools
- Activity Tracking: All actions logged with timestamps
- Role-Based Store: User role affects UI rendering
- Simulation Toggle: Enable/disable real-time updates
- Favorites: Persistent pipeline bookmarks
- Mock Data: Base state with realistic enterprise data
- Feature-Based: Each module is self-contained
- Reusable Components: Table, charts, cards, and badges
- Error Boundaries: Graceful error handling at component level
- Strong Typing: Strict TypeScript throughout
- Responsive Design: Mobile-first with Tailwind
- Recharts: Line, area, bar, and pie charts
- Interactive Charts: Tooltips, legends, zoom/pan, and responsive sizing
- Real-Time Updates: Charts update as simulation runs
- Multi-Line Support: Overlay multiple metrics (P50, P95, P99)
- CSS Variables: HSL color values for easy theming
- Dark Mode: Comprehensive dark theme with good contrast
- Auto Mode: Automatic switching based on time (8 PM - 6 AM)
- System Preference: Automatic detection of OS theme
- Persistent: Theme preference saved to localStorage
- Memoization: Expensive computations cached with useMemo
- Callback Optimization: Event handlers memoized with useCallback
- Efficient Rendering: Zustand selectors prevent unnecessary re-renders
- Virtual Scrolling: Optional virtual scroll for large tables
- Performance Monitor: Development-mode FPS and memory tracking
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Supports modern browsers with ES2020+ features
- Vite: Fast HMR and optimized builds
- Code Splitting: Route-based splitting with TanStack Router
- Efficient Rendering: Zustand selectors prevent unnecessary re-renders
- Optimized Charts: Recharts with minimal DOM updates
- CSS-First: Tailwind v4 with CSS variables for zero-runtime theming
# Type checking
pnpm tsc
# Build
pnpm build
# Preview production build
pnpm previewNo environment variables are required. The app uses mock data and simulation.
Connect your GitHub repository to Vercel for automatic deployments:
vercelThe application is optimized for Netlify deployment with the following features:
# Install Netlify CLI globally
npm install -g netlify-cli
# Deploy to production
netlify deploy --prod --dir=dist- Connect your GitHub/GitLab/Bitbucket repository to Netlify
- Configure build settings:
- Build command:
pnpm build - Publish directory:
dist - Node version: 20
- Build command:
- Netlify will automatically deploy on every push
✅ Performance:
- Aggressive caching of static assets (JS, CSS, fonts) - 1 year
- Brotli & Gzip compression enabled
- Code splitting with optimized chunking
- CSS code splitting enabled
✅ Security:
- Security headers configured (XSS, CSRF, Clickjacking protection)
- Content Security Policy headers
- Secure referrer policy
✅ SEO & Best Practices:
- Lighthouse plugin integrated
- Performance thresholds: 80%
- Accessibility thresholds: 90%
- Automatic SPA routing support
✅ Cache Strategy:
- Static assets (JS/CSS): 1 year cache
- HTML files: No cache (for instant updates)
- Images and fonts: 1 year cache
Netlify automatically runs Lighthouse audits on every deploy. Check the deploy logs for performance scores.
# Set custom domain
netlify domains:add yourdomain.comThe dist folder contains static files that can be served from any CDN or web server.
MIT
- TanStack: Router, Query, and Table libraries
- Tailwind CSS: Utility-first CSS framework
- Recharts: Composable charting library
- Lucide: Beautiful icon library
- Zustand: Minimal state management
Built as a portfolio project demonstrating enterprise-grade frontend development practices.

