cool-dashboard

byNimesh ZestBrains

Project Description This project is a Device Monitoring and Live Camera Streaming Dashboard designed to allow users to monitor devices installed on boats and view live camera feeds in real time. The system provides a centralized interface where authenticated users can access their devices, monitor live streams, and analyze device performance data. The platform includes secure authentication, a device dashboard, live video streaming, device management views, and historical monitoring of device metrics. Core Modules 1. Authentication The application includes secure authentication pages for users. Login Page • Allows registered users to securely log into the system. Forgot Password • Enables users to recover or reset their password if they forget it. Only authenticated users can access the dashboard and device monitoring features 2. Dashboard The Dashboard serves as the main landing page after login. Features: • Displays the list of devices assigned to the logged-in user • Provides an overview of available devices • Allows quick navigation to live streaming and device details 3. Live Stream The Live Stream module allows users to watch live camera feeds from devices installed on boats. Features • Select a Device using its MAC Address • Choose the number of cameras to display • View live streaming for up to 8 cameras simultaneously Switch between cameras using a dropdown selector Video Player Controls • Play / Pause live stream • Change streaming quality • Capture screenshots of the current stream This module enables real-time monitoring of camera feeds from the selected device. 4. Device List The Device List section displays all devices associated with the user. Features • View all devices with their MAC Address • Search devices by MAC Address • View the list of cameras connected to each device • Read-only access (no edit functionality) This section helps users quickly identify devices and the cameras attached to them. 5. Device History The Device History module provides historical monitoring data for devices Features • View historical records of devices • Filter data using: • MAC Address • Date Range • Monitor system performance metrics such as: • Temperature • CPU Usage • GPU Usage • RAM Usage • Other system monitoring data This module helps users analyze device performance and system behavior over a selected time period. 6. Profile Section The Profile Section allows users to manage their account information. Features • View profile details • Update profile information User Flow 1. The user logs into the system through the Login page. 2. After authentication, the user is redirected to the Dashboard, where they can see all devices assigned to them. 3. The user navigates to the Live Stream section. 4. The user selects: • Device MAC Address • Number of cameras 5. The selected cameras start live streaming in the video player. 6. The user can: • Switch between cameras • Capture screenshots • Pause or play the stream • Change streaming quality 7. In the Device List, the user can search for devices and view camera details. 8. In Device History, the user can filter by MAC Address or date range to monitor system metrics like CPU, GPU, RAM, and temperature. 9. The Profile section allows the user to view and update their profile information. Mobile App Design

Landing
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks14

#1

Implement Theme & Base Structure

To Do

As a user I want to see a consistent marine-themed UI across all pages. Implement the cool-dashboard design system: apply the color palette (#0A1F44 background, #1E3A5F surface, #F5F7FA text, #00A8E8 accent, #6C7A89 muted), Inter font family, CSS custom properties, glassmorphism card styles, and base layout structure. Remove any scaffold pages not needed by the SRD (welcome page, signup page, ai-assistant page, settings page). Set up global CSS tokens and shared layout components (TopBar, Sidebar, Footer) matching the reference design exactly.

AI 85%
Human 15%
High Priority
2 days
AI Credits:7
Frontend Developer
#2

Build Landing Page

To Do

As a user I want to explore the platform on the Landing page before logging in. Implement the Landing page based on the existing JSX design (v2). The page includes: animated ocean background with wave movements, interactive device buoys on the map with MAC address labels, hover tooltips showing device details, time-of-day dynamic color shifts, micro-animations for buoys bobbing, and CTAs leading to Login. Guest users land here to view demo and explore features. Navigates to: Login page.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
2 days
AI Credits:8
Frontend Developer
#3

Build Login Page

To Do

As a user I want to securely log in via the Login page. Implement the Login page based on the existing JSX design (v1). Includes: email/password form, secure authentication flow, forgot password link, form validation with error states, and redirect to Dashboard on success. Styled with the marine dark theme, glassmorphism card, aqua CTA button. Navigates from: Landing. Navigates to: Dashboard.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
1 day
AI Credits:6
Frontend Developer
#4

Build Dashboard Page

To Do

As a user I want to view all assigned devices on the Dashboard after login. Implement the Dashboard page based on the existing JSX design (v1). Includes: device overview cards with status indicators, quick navigation to Live Stream and Device List, interactive ocean map concept with floating buoys representing devices, welcome banner, and stats summary. Admin sees all devices; User sees assigned devices only. Navigates from: Login. Navigates to: Live Stream, Device List, Profile.

Depends on:#1#3
Waiting for dependencies
AI 88%
Human 12%
High Priority
2 days
AI Credits:8
Frontend Developer
#9

Implement Authentication API

To Do

As a user I want to use backend API for secure login and session management. Implement FastAPI authentication endpoints: POST /auth/login (email+password, returns JWT), POST /auth/logout, POST /auth/forgot-password, GET /auth/me (current user profile). Secure JWT token generation, password hashing (bcrypt), role-based access control for Admin/User/Guest personas. Integrates with MySQL/MariaDB user store.

Depends on:#3
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
AI Credits:7
Backend Developer
#10

Implement Devices API

To Do

As a user I want to use backend API for fetching assigned devices and their details. Implement FastAPI device endpoints: GET /devices (list devices for authenticated user, supports MAC Address search and status filter), GET /devices/{mac_address} (device detail), GET /devices/{mac_address}/cameras (list cameras). Role-based filtering: Admin sees all devices, User sees only assigned. Returns device name, MAC address, status, last seen, camera count, CPU/RAM/Temp metrics.

Depends on:#9
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
AI Credits:7
Backend Developer
#13

Implement Profile Update API

To Do

As a user I want to use backend API for viewing and updating my profile. Implement FastAPI profile endpoints: GET /users/me/profile (fetch current user profile details), PATCH /users/me/profile (update name, email, avatar and other profile fields). Input validation, unique email constraint, secure field update with re-authentication for sensitive changes. Integrates with MySQL/MariaDB user store.

Depends on:#9
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
1 day
AI Credits:5
Backend Developer
#7

Build Live Stream Page

To Do

As a user I want to watch live camera feeds on the Live Stream page. Implement the Live Stream page (design to be created as part of this task). Includes: device MAC Address selector dropdown, camera count selector (1-8 simultaneous streams), responsive video grid layout, per-stream video player controls (play/pause, quality selector, screenshot capture), camera switcher dropdown, aqua-themed UI controls. Supports up to 8 simultaneous camera feeds without lag. Navigates from: Dashboard. Key performance requirement: no lag on 8 streams.

Depends on:#4#1
Waiting for dependencies
AI 80%
Human 20%
High Priority
3 days
AI Credits:9
Frontend Developer
#8

Build Profile Page

To Do

As a user I want to view and update my account information on the Profile page. Implement the Profile page based on the existing JSX design (v1). Includes: profile details display (name, email, role, avatar), editable form fields for updating profile information, save/cancel actions, IST timezone indicator, marine-themed form styling with aqua accents and surface cards. Navigates from: Dashboard (TopBar or Sidebar). Supports both Admin and User persona profile updates.

Depends on:#1#4
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
AI Credits:6
Frontend Developer
#5

Build Device List Page

To Do

As a user I want to search and browse all assigned devices in the Device List page. Implement the Device List page based on the existing JSX design (v1). Includes: data table with MAC Address, Device Name, Status, Last Seen, Camera count, CPU/RAM/Temp indicators, action buttons (View, Stream, History); MAC Address search input; status filter dropdown; device stats strip (Total, Online, Offline, Warning); pagination bar. Read-only access. Navigates from: Dashboard. Navigates to: Device History.

Depends on:#1#4
Waiting for dependencies
AI 90%
Human 10%
High Priority
2 days
AI Credits:8
Frontend Developer
#11

Implement Device History API

To Do

As a user I want to use backend API for querying historical device metrics. Implement FastAPI endpoints: GET /devices/{mac_address}/history (filter by date range, returns time-series data for Temperature, CPU Usage, GPU Usage, RAM Usage). Supports IST timezone-aware date filtering, pagination, and aggregation. Stores and retrieves data from MongoDB for flexible NoSQL metric storage.

Depends on:#10
Waiting for dependencies
AI 78%
Human 22%
High Priority
2 days
AI Credits:7
Backend Developer
#12

Implement Live Stream API

To Do

As a user I want to use backend API for initiating and managing live camera streams. Implement FastAPI streaming endpoints: GET /devices/{mac_address}/stream/cameras (list available cameras), POST /devices/{mac_address}/stream/start (start stream session for selected cameras, up to 8), POST /stream/{session_id}/screenshot (capture frame), PATCH /stream/{session_id}/quality (change quality). WebSocket or HLS protocol support for real-time video delivery. Meets performance NFR of 8 simultaneous streams without lag.

Depends on:#10
Waiting for dependencies
AI 75%
Human 25%
High Priority
3 days
AI Credits:9
Backend Developer
#6

Build Device History Page

To Do

As a user I want to view historical device metrics on the Device History page. Implement the Device History page based on the existing JSX design (v1). Includes: filter controls for MAC Address and date range (IST timezone default), performance metric charts for Temperature, CPU Usage, GPU Usage, RAM Usage, time-series graphs with aqua accent colors, data table of historical records, export option. Navigates from: Device List. Helps users analyze device performance over time.

Depends on:#1#5
Waiting for dependencies
AI 88%
Human 12%
High Priority
2 days
AI Credits:8
Frontend Developer
#14

Integrate Frontend with Backend APIs

To Do

As a user I want all frontend pages to fetch real data from the backend APIs. Wire up all React pages to their respective FastAPI endpoints using axios/fetch: Dashboard device list, Device List search and filter, Device History metric charts, Live Stream video player and controls, Profile view and update. Implement API client service layer, JWT token attachment to requests, loading states, error handling, and toast notifications. Configure API base URL for Docker and K8s environments.

Depends on:#12#6#13#8#5#9#11#7#10#4
Waiting for dependencies
AI 82%
Human 18%
High Priority
3 days
AI Credits:8
Frontend Developer
Landing design preview
Login: Sign In
Dashboard: View All Devices
Dashboard: Navigate System
Device List: Manage Devices
Device History: Monitor Metrics
Profile: Update Account