A minimalist, interactive personal dashboard web application that helps you stay organized with essential widgets including a real-time clock, weather updates, to-do list, quick notes, and contact form.
- Switch between light and dark themes for comfortable viewing at any time of day
- Theme preference persists during your session
- Displays current time that updates automatically
- Shows time in your local timezone format
- Real-time weather information for Dhaka
- Displays current temperature and weather conditions
- Powered by WeatherAPI
- Add tasks quickly with a simple input field
- Click on any task to remove it when completed
- Perfect for tracking daily activities
- Write and save quick notes
- Notes persist using browser's localStorage
- Automatically displays your saved note on page load
- Simple contact form with name, email, and message fields
- Form validation ensures all required fields are filled
- Confirmation message upon submission
- HTML5 - Structure and semantic markup
- CSS3 - Styling with CSS custom properties (variables) for theming
- JavaScript (Vanilla) - Interactive functionality and API integration
- WeatherAPI - Real-time weather data
- LocalStorage - Client-side data persistence
personal-dashboard/
β
βββ index.html # Main HTML structure
βββ style.css # Styles and theme definitions
βββ script.js # JavaScript functionality
βββ README.md # Project documentation
-
Clone or download this repository to your local machine
-
API Key Configuration (Optional but recommended):
- The project uses WeatherAPI for weather data
- Current API key is included but has usage limits
- Get your free API key from WeatherAPI.com
- Replace the API key in
script.js:
fetch("https://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=Dhaka")
-
Customize Location:
- Change the location parameter in
script.jsfrom "Dhaka" to your city:
fetch("https://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=YourCity")
- Change the location parameter in
-
Open the Project:
- Simply open
index.htmlin your web browser - No server setup required - runs entirely in the browser
- Simply open
Click the "Dark Mode" button in the header to toggle between light and dark themes.
The clock automatically displays and updates every second with your current local time.
Weather information loads automatically when you open the dashboard. Refresh the page to update weather data.
- Type your task in the input field
- Click "Add" button
- Click on any task in the list to remove it
- Write your note in the textarea
- Click "Add" to save
- Your note will be displayed below and persist even after closing the browser
- Fill in your name, email, and message
- Click "Send" to submit
- A confirmation message will appear
Modify theme colors in style.css:
:root{
--bg:#eee; /* Light mode background */
--text:#33333; /* Light mode text */
--primary:#483D8B; /* Primary color */
}
body.dark{
--bg:#1e1e1e; /* Dark mode background */
--text:#eee; /* Dark mode text */
--primary:#2F4F4F; /* Dark mode primary color */
}Adjust the grid layout in style.css:
main{
display: grid;
grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
gap: 1rem;
}- β Chrome (recommended)
- β Firefox
- β Safari
- β Edge
β οΈ Requires JavaScript enabledβ οΈ Requires localStorage support for Quick Notes feature
Potential features for future versions:
- Multiple location weather support
- Todo list persistence with localStorage
- Note editing and deletion
- Calendar widget
- News feed integration
- Customizable widget arrangement (drag & drop)
- Export/import dashboard settings
- Additional color themes
- Todo list items do not persist after page refresh
- Weather API has rate limits on free tier
- Contact form currently shows alert only (no backend integration)
Feel free to fork this project and submit pull requests with improvements. Some areas that could use enhancement:
- Backend integration for contact form
- Todo list persistence
- Additional widgets
- Responsive design improvements
- Accessibility features
This project is open source and available under the MIT License.
- Weather data provided by WeatherAPI.com
- Built with vanilla JavaScript - no frameworks required!
Created with β€οΈ in 2025
For questions or suggestions, use the contact form on the dashboard!