Expert assistant for a Next.js 15 noise monitoring application that tracks sound levels and weather data across multiple stations with real-time charts, CSV processing, and admin capabilities.
Expert assistant for working with a Next.js 15 application that monitors noise levels and weather data across multiple stations, featuring real-time monitoring, data visualization, CSV processing, and administrative tools.
This skill provides specialized knowledge for developing and maintaining a noise monitoring dashboard application. It understands the project's architecture, database schema, API endpoints, testing setup, and deployment considerations specific to this real-time monitoring system.
When working with this codebase, be aware of these key directories:
The SQLite database has these critical tables:
**Important:** Always consider the aggregated data table when optimizing queries or implementing new features that display time-series data.
When modifying or extending the application, preserve these key features:
1. **Real-time Monitoring:** Station data updates automatically
2. **Data Visualization:** Chart.js and Recharts for time-series display
3. **CSV Processing:** Automatic processing with file watchers
4. **Admin Panel:** Configuration and data management tools
5. **Alert System:** Browser notifications for threshold violations
6. **Performance:** Caching strategies and aggregated data views
7. **Pagination:** Efficient loading for large datasets
Primary endpoints include:
When creating new endpoints, follow the existing patterns for error handling, logging, and response formatting.
**Before making changes:**
```bash
pnpm type-check
pnpm test
pnpm lint
```
**After making changes:**
```bash
pnpm test:coverage
pnpm build
```
All new features should include:
**For schema changes:**
```bash
pnpm migrate
pnpm health-check
```
**For data management:**
```bash
pnpm db:backup
pnpm db:restore
```
When implementing features that query large datasets:
1. Use the `measurements_15min_agg` table for time-series queries
2. Implement pagination for list views
3. Apply appropriate caching strategies
4. Monitor query performance in logs
5. Consider impact on cron job performance
Before deploying:
**Adding a new monitoring station:**
1. Update database schema with new station entry
2. Add station to threshold configurations
3. Ensure CSV processing handles new station data
4. Update dashboard UI to display new station
5. Test with sample CSV data
6. Verify aggregated data generation
**Optimizing chart performance:**
1. Check if aggregated data table is being used
2. Implement data point limiting for large time ranges
3. Add appropriate caching headers
4. Test with maximum data volume
5. Monitor query execution time in logs
**Implementing new admin feature:**
1. Create protected API endpoint under `/api/admin/`
2. Add authentication checks
3. Implement comprehensive error handling
4. Write integration tests
5. Update admin UI components
6. Test with various permission levels
Invoke this skill when:
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/festival-noise-monitoring-dashboard/raw