Skip to content

A responsive personal dashboard built with vanilla JavaScript featuring live time, weather, quotes, and dynamic background images using public APIs.

Notifications You must be signed in to change notification settings

TheNameIsRKS/personal-live-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Personal Live Dashboard

A responsive personal dashboard built using vanilla HTML, CSS, and JavaScript that displays real-time information in a clean and user-friendly interface.

This project focuses on core frontend fundamentals such as async JavaScript, API integration, state management, UI layering, and responsive design β€” without using any frameworks.


πŸš€ Features

  • Live digital clock with 12-hour / 24-hour toggle
  • Time-based greeting (Morning / Afternoon / Evening)
  • City-based weather search using OpenWeather API
  • Location-based weather using the Browser Geolocation API
  • Temperature unit toggle (Β°C / Β°F) without additional API calls
  • Quote of the Day fetched from an external API
  • Random background images with preload handling
  • Dark overlay for consistent text readability
  • Graceful loading and error states
  • Fully responsive layout for mobile and desktop

πŸ›  Tech Stack

  • HTML5 – Semantic structure
  • CSS3 – Responsive design, overlay layering, UI hierarchy
  • JavaScript (ES6+) – Async/await, DOM manipulation, state handling
  • OpenWeather API – Weather data
  • ZenQuotes API (via CORS proxy) – Quote of the day
  • Picsum Photos API – Random background images

πŸ“Έ Screenshots

Desktop view with weather datalive dashboard

Mobile view (responsive layout)
mobile view

Weather search results image


βš™οΈ How It Works (High Level)

  • The app updates the live time every second using Date and setInterval.
  • Weather data is fetched asynchronously using fetch and async/await.
  • Temperature is stored in state and converted between Β°C and Β°F without refetching data.
  • Background images are preloaded using the Image object to avoid flickering.
  • UI layering is achieved using a dark overlay and controlled z-index stacking.
  • Responsive behavior is handled using CSS media queries.

πŸ§ͺ Learning Goals

This project was built to practice:

  • Real-world API integration
  • Asynchronous JavaScript
  • Clean state management
  • UI/UX fundamentals
  • Debugging layout and rendering issues
  • Writing maintainable, readable code

πŸ“Œ Future Improvements

  • Persist user preferences (last city, temperature unit)
  • Add accessibility improvements (ARIA labels)
  • Add offline fallback handling
  • Theme toggle (light / dark)

πŸ“„ License

This project is for learning and personal use.

About

A responsive personal dashboard built with vanilla JavaScript featuring live time, weather, quotes, and dynamic background images using public APIs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published