Clima is a comprehensive weather portal designed specifically for users in India. Built with Django, it provides a centralized platform to track real-time weather conditions, forecasts, and official severe weather warnings across the country.
The project aims to take raw, often hard-to-read meteorological data (such as official warnings from the India Meteorological Department) and present it in a highly visual, easy-to-understand, and modern dark-themed interface.
-
Personalized Dashboard Users can save their location settings to automatically receive weather data and regional news tailored to their specific state and city.
-
Real-Time Weather & Forecasts Search for any city to view current conditions (temperature, humidity, wind), along with detailed 5-day forecasts and hourly breakdowns for short-term planning.
-
Official IMD Weather Alerts The platform integrates directly with the India Meteorological Department (IMD) to provide up-to-date severe weather warnings.
- Statewise Alerts: View color-coded subdivision warnings across India.
- Districtwise Alerts: Inspect detailed, interactive maps highlighting specific weather warnings (heavy rain, heatwaves, etc.) down to the district level for the next 5 days.
-
Aggregated News Feed Stay informed with a curated weather and climate news feed, filtered by Global, National, and Regional scopes based on your saved location.
- Backend: Python, Django
- Database: MySQL
- Background Processing: Celery & Redis (used for asynchronously syncing heavy map data from official sources)
- Scraping: Playwright (used to render and capture complex mapping layers)
- Deployment: Docker, Docker Compose, Gunicorn, WhiteNoise
-
Clone the repository
git clone https://github.com/vprayag2005/WeatherApp.git cd WeatherApp -
Create a virtual environment
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt playwright install chromium
-
Configure the database
- Install MySQL and ensure the service is running.
- Create a database (e.g.,
weatherapp). - Copy
.env.exampleto.envand fill in your database credentials.
-
Run migrations
python manage.py migrate
-
Start the development server
python manage.py runserver
You can now visit
http://127.0.0.1:8000/in your browser.