Commit Graph

5 Commits (7f0a93a80d1415dca4bd6730d1266deae07249c0)

Author SHA1 Message Date
Kirubakaran 7f0a93a80d feat(app): implement comprehensive analytics and reporting features
Analytics Page:
- Implemented a new, dynamic analytics page with date filtering.
- Added KPI summary tiles for total, completed, and aborted swaps, average swap time, and station uptime.
- Included three interactive charts: Swap Activity Over Time, Hourly Swap Distribution, and Swap Abort Reasons.
- Added a Slot Utilization Heatmap for at-a-glance diagnostics.
- Styled charts for the dark theme and fixed axis scaling issues.

Station Selection Page:
- Enhanced the station selection page to display live daily swap statistics on each station card.

Backend API:
- Created a new '/api/analytics' endpoint to serve all KPI and chart data.
- Created a new '/api/stations/daily-stats' endpoint.

Fixes & Refactoring:
- Centralized all common header logic into common-header.js to resolve script conflicts.
- Improved dashboard WebSocket handler to correctly process partial data payloads.
2025-09-15 03:56:47 +05:30
Kirubakaran f61af015ad fix: enhance the UI of status bar 2025-09-14 19:15:18 +05:30
Kirubakaran 6d3899e8e1 feat: added the auth guard script 2025-09-13 02:08:41 +05:30
Kirubakaran 1054d3dc0b fix: changes the API for localhost 2025-09-11 01:55:34 +05:30
Kirubakaran 1ce929258f feat(frontend): Finalize dashboard and logs pages with full interactivity
This commit completes the initial version of the frontend application by adding full functionality to the logs page and implementing several key UI/UX improvements across the dashboard.

Key Changes:

- **feat(logs):**
  - Implemented a real-time log viewer by connecting the page to the backend WebSocket server.
  - The script now intelligently sorts incoming `EVENTS` and `RPC` messages into their respective log textareas.
  - The header is now fully dynamic and shares the same live status polling logic as the main dashboard for UI consistency.

- **fix(dashboard):**
  - Corrected the online/offline status logic to use a reliable polling mechanism, ensuring the header status is always accurate.
  - Resolved a bug that caused the dashboard to show stale data after a station went offline by implementing a UI reset function.
  - Implemented a more robust, themed `flatpickr` date/time picker for the download modal.

- **refactor(ui):**
  - Added a universal button feedback system using CSS transitions for a smooth "press" effect on all buttons.
  - Redesigned the "empty chamber" state to be more intuitive, featuring a larger icon and conditionally displayed slot temperature.
  - Reorganized button layouts in the header and sidebar for better ergonomics.
2025-09-04 21:55:05 +05:30