- Deployed Application: https://weatherpulse.netlify.app (Update with your deployment URL)
- GitHub Repository: https://github.com/kazichaska/weather-dashboard
WeatherPulse is a cutting-edge weather dashboard that provides real-time weather data and 5-day forecasts with AI-powered weather insights. Built with modern technologies, it features a vibrant, responsive design with glass-morphism effects and smooth animations.
- β¨ Modern Vibrant Design - Neon gradients with glass-morphism effects
- π Global Weather Search - Get weather for any city worldwide
- π Current Weather Details - Temperature, humidity, wind speed, pressure, cloudiness
- π 5-Day Forecast - Upcoming weather predictions with detailed information
- π§ AI Insights - Smart, personalized weather recommendations
- π¬ Contact Developer - Easy-to-use contact form with hover modal
- π± Fully Responsive - Perfect on desktop, tablet, and mobile
- π SEO Optimized - Better search engine visibility
- π¨ Smooth Animations - Delightful user interactions
-
Initialize Git & Push to GitHub:
git init git add . git commit -m "Initial commit: WeatherPulse dashboard" git branch -M main git remote add origin https://github.com/YOUR_USERNAME/weather-dashboard.git git push -u origin main
-
Connect to Netlify:
- Go to Netlify Dashboard
- Click "Add new site" β "Import an existing project"
- Select GitHub and your repository
- Build settings:
- Build command: (leave empty)
- Publish directory:
.
- Click "Deploy site"
- Netlify will auto-read
netlify.tomlconfiguration
-
Set Custom Domain:
- Site settings β Domain management β Add custom domain
- Configure DNS settings if needed
-
Push to GitHub (same as above)
-
Connect to Render:
- Go to Render Dashboard
- Click "New" β "Static Site"
- Connect GitHub account and select repository
- Settings:
- Build command: (leave empty)
- Publish directory:
.
- Click "Create Static Site"
- Render will deploy automatically
weather-dashboard/
βββ index.html # Main HTML file with SEO meta tags
βββ netlify.toml # Netlify deployment configuration
βββ .gitignore # Git ignore rules
βββ README.md # This file
βββ asset/
βββ css/
β βββ style.css # Complete styling with animations
βββ js/
β βββ script.js # All JavaScript functionality
βββ images/ # (Optional) Image assets
- Purpose: Real-time weather data and 5-day forecasts
- Free Tier: 60 calls/min, 1M calls/month
- Status: β Already configured
- Get Key: https://openweathermap.org/api
- Location: In
asset/js/script.js(lines ~48, ~102)
- Purpose: Contact form email forwarding
- Free Tier: 50 emails/month
- Status: β Already configured
- Location: In
asset/js/script.js(line ~44) - Update ID: Change
f/mjgkjddnto your Formspree form ID
-
Frontend:
- HTML5 (Semantic markup)
- CSS3 (Gradients, animations, flexbox, grid)
- JavaScript (Vanilla JS - no dependencies)
- jQuery (DOM manipulation)
- Bootstrap 5 (Responsive utilities)
-
Libraries & Frameworks:
- Moment.js (Date & time formatting)
- Font Awesome 6 (Icon library)
- Google Fonts (Poppins, Inter)
-
External APIs:
- OpenWeatherMap (Weather data)
- Formspree (Email service)
-
Deployment:
- Netlify or Render (Static hosting)
asset/js/script.js - Line 5:
var defaultCity = "Minneapolis"; // Change to your preferred cityasset/js/script.js - Line 44:
const response = await fetch("https://formspree.io/f/YOUR_FORM_ID", {index.html - Lines 8-35:
<meta name="description" content="Your description here">
<meta property="og:url" content="https://your-domain.com/">
<meta property="og:image" content="https://your-domain.com/og-image.png">asset/css/style.css - Lines 5-19 (CSS Variables):
--neon-pink: #ff006e
--neon-purple: #8338ec
--neon-cyan: #00f5ff- Animated Background: Continuously shifting gradient
- Neon Effects: Vibrant pink, purple, and cyan accents
- Glass-Morphism: Semi-transparent cards with blur effects
- Responsive Grid: Auto-adjusts to all screen sizes
- Smooth Transitions: Hover effects and animations
- Custom Scrollbar: Gradient-styled scroll bar
- β CDN-hosted libraries (no build step needed)
- β Gzip compression via Netlify
- β
Browser caching configured in
netlify.toml - β Optimized assets and images
- β Minimal JavaScript (vanilla JS, no framework overhead)
- β API key uses free tier with rate limiting
- β No sensitive user data stored
- β Form submissions via Formspree (secure)
- β HTTPS enforced by Netlify/Render
- β CSP and security headers configured
| Issue | Solution |
|---|---|
| Weather data not loading | Check internet connection, verify OpenWeatherMap API status |
| Contact form not sending | Verify Formspree form ID, check browser console |
| Design looks broken | Clear browser cache, check CDN resources in DevTools |
| Forecast cards not showing | Ensure city search completed successfully |
- β Chrome (latest)
- β Firefox (latest)
- β Safari (latest)
- β Edge (latest)
- β Mobile browsers
AS A traveler
I WANT to see the weather outlook for multiple cities
SO THAT I can plan a trip accordingly
- β Search for cities and view current conditions
- β Display temperature, humidity, wind speed, pressure
- β Show 5-day forecast with detailed information
- β Search history with click-to-recall functionality
- β Responsive design for all devices
- β AI insights for weather recommendations
- β Contact developer feature
- β Modern, vibrant user interface
Free to use for personal and commercial projects.
Kazi Islam
- GitHub: @kazichaska
- Portfolio: [Your Portfolio URL]
- Contact: Use the contact form in the app!
- OpenWeatherMap for weather data
- Formspree for email service
- Font Awesome for icons
- Google Fonts for typography
Made with β€οΈ using modern web technologies | Last Updated: January 2026
AS A traveler
I WANT to see the weather outlook for multiple cities
SO THAT I can plan a trip accordingly
GIVEN a weather dashboard with form inputs
WHEN I search for a city
THEN I am presented with current and future conditions for that city and that city is added to the search history
WHEN I view current weather conditions for that city
THEN I am presented with the city name, the date, an icon representation of weather conditions, the temperature, the humidity, the wind speed, and the UV index
WHEN I view the UV index
THEN I am presented with a color that indicates whether the conditions are favorable, moderate, or severe
WHEN I view future weather conditions for that city
THEN I am presented with a 5-day forecast that displays the date, an icon representation of weather conditions, the temperature, the wind speed, and the humidity
WHEN I click on a city in the search history
THEN I am again presented with current and future conditions for that city



