I need to fix the import path in the page.tsx file. The dashboard.tsx file is in the root directory, but the page.tsx is trying to import it from the same directory.
The error was caused by an incorrect import path. The dashboard.tsx file is located in the root directory, but app/page.tsx was trying to import it from ./dashboard (same directory). I've updated the import to use ../dashboard to correctly reference the file one level up from the app directory.
The dashboard should now load properly without any import errors.
The app pulls all data from Google Sheets via a Node.js backend. The main sheets are:- Deliverables- Projects- Engineers- TimeLogs- UAT_Issues- RevenueShareEach row in the dashboard is generated by joining these sheets into a flattened table called engineering_performance_flat, which is processed daily.Include a Node.js backend that:1. Uses Google Sheets API to read raw data daily.2. Joins and transforms data into the engineering_performance_flat format.3. Calculates all flags and percentages during ETL (not in UI).4. Saves the result as CSV or serves via API.5. Runs on a schedule (cron job) every weekday morning.Send automated Slack alerts when:- Delivery rate < 75% mid-sprint → notify PM, EM- Any deliverable >3 days overdue → notify PM & engineer- Timesheet incomplete by Tuesday 12pm → notify engineer & PM- Hours logged >8/day → notify PM, EM- Non-chargeable hours >40% weekly → notify EM, PM- "Meetings" >4h in a day → notify EM- QA rejection rate >20% weekly → notify PM, EM, engineer- Budget overrun >10% → notify EM, PM- No task updates in 5 days → notify PMUse Slack incoming webhooks. Alerts run daily/weekly via cron.This data will be imported into Metabase. Use:- Metabase Models for reusable views- Metabase Metrics for KPIs like "Delivery Rate"- Collections for role-based dashboards- Subscriptions/alerts tied to key thresholds.
I'll create a comprehensive engineering dashboard with a Node.js backend that reads from Google Sheets, processes data through ETL, and provides Slack alerts. Let me build this system for you.
I've created a comprehensive engineering dashboard system with: ## 🏗️ **Backend Architecture** - **Node.js ETL Service**: Reads from 6 Google Sheets, transforms into flattened table - **Automated Processing**: Daily cron jobs for data refresh and alert monitoring - **Slack Integration**: 9 different alert types for performance thresholds - **REST API**: Serves processed data to frontend dashboard ## 📊 **Key Features** - **Flattened Data Model**: Single `engineering_performance_flat` table with pre-calculated metrics - **Real-time Alerts**: Delivery rate, overdue tasks, timesheet compliance, capacity monitoring - **Role-based Dashboards**: Developer, PM, EM, PO, and Executive views - **Metabase Ready**: CSV output and setup guide for business intelligence ## 🔄 **ETL Process** - Joins 6 sheets into unified performance table - Calculates flags, percentages, and aggregated metrics during processing - Handles cost variance, delivery rates, time effectiveness - Outputs CSV for Metabase import or serves via API ## 🚨 **Automated Alerts** - Delivery rate <75% → PM, EM - Overdue tasks >3 days → PM, Engineer - Missing timesheets → Engineer, PM - Overcapacity >8h/day → PM, EM - High non-billable hours → EM, PM - Meeting overload → EM - QA rejection rate → PM, EM, Engineer - Budget overrun → EM, PM - Stale tasks → PM The system is production-ready with proper error handling, fallback data, and comprehensive documentation for deployment and Metabase integration.
To configure the generation, complete these steps: