Skip to content
alina18-codePublic

About

Feelcast: Feel the Weather. An interactive web application that transforms raw forecast data into immersive, dynamic themes—allowing you to experience the weather, not just read the numbers. Built with Flask, Python, JavaScript, and CSS.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

111 Commits

Folders and files

Repository files navigation

FeelCast 🌦️

Don't just see the weather — feel the weather. 🌐 Live site: https://feelcast.pythonanywhere.com

FeelCast is a weather web application that turns live weather data into a more immersive experience. Instead of showing only numbers and forecasts, FeelCast adapts its visual atmosphere to the weather so each condition has its own feeling.

✨ Features

  • 🌍 Search weather by city
  • 🌡️ Temperature and feels-like temperature
  • 💧 Humidity and visibility
  • 🌧️ Rain information
  • 💨 Wind speed and direction
  • 🌅 Sunrise and sunset
  • 📊 Hourly weather information
  • 🔄 Interactive weather cards
  • 🎨 Weather-based themes and atmospheric effects
  • 🔊 Optional weather ambience
  • 📱 Responsive and accessible interface
  • ⚠️ Handles invalid locations and API/network errors

🛠️ Tech Stack

  • Python
  • Flask
  • Requests
  • OpenWeather API
  • HTML5
  • CSS3
  • JavaScript
  • Jinja
  • python-dotenv

📁 Project Structure

Weather website/
│
├── app/
│   ├── __init__.py          
│   ├── routes.py            # Flask routes and request handling
│   ├── weather.py           # Geocoding and weather API calls
│   └── utils.py             # Helper utilities (timestamps, condition-to-theme mapping)
│
├── static/
│   ├── css/
│   │   └── style.css        # Core layout and weather-specific theme styling
│   ├── js/
│   │   └── script.js        # Form validation and dynamic frontend interactions
│   └── images/
│       ├── sunny_theme_image.png
│       ├── cloudy_theme_image.png
│       ├── rain_theme_image.png
│       ├── snow_theme_image.png
│       ├── storm_theme_image.png
│       └── night_theme_image.png
│
├── templates/
│   └── index.html           # Main user interface template
│
├── .env                     # Local environment file for secret API keys (git-ignored)
├── .gitignore               # Prevents tracking of sensitive and temporary files
├── requirements.txt         # Project Python dependencies
└── README.md                # Project documentation

🚀 Getting Started

1. Clone the repository

git clone <your-repository-url>
cd FeelCast

2. Create a virtual environment

python -m venv .venv

Activate it on Windows:

.venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Add your API key

Create a .env file in the project root:

WEATHER_API=your_api_key_here

5. Run the application

python app.py

Open the local Flask address shown in your terminal.

🎨 The Idea

FeelCast is built around one simple idea:

Weather should be something you experience, not just something you read.

Clear skies can feel warm and bright. Rain can feel refreshing and peaceful. Cloudy weather can feel calm and breezy, while snow can create a quiet winter atmosphere.

The interface keeps the weather information clear while allowing the atmosphere to change naturally with the conditions.

🔮 Future Improvements

  • Location detection
  • Automated testing

FeelCast — weather information with a little more feeling.

About

Feelcast: Feel the Weather. An interactive web application that transforms raw forecast data into immersive, dynamic themes—allowing you to experience the weather, not just read the numbers. Built with Flask, Python, JavaScript, and CSS.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages