A beautiful, modern weather station dashboard built with Django, featuring real-time data from a personal weather station and local forecasting.
- π Personal Weather Station Integration - Real-time data from IAKURE31 station
- π Beautiful Dark Dashboard - Modern, responsive UI with Icelandic localization
- π‘οΈ Comprehensive Metrics - Temperature, humidity, wind speed, pressure, UV index
- π 3-Day Local Forecast - Reliable weather predictions
- πΊοΈ Interactive Map - Station location with Leaflet integration
- π± Mobile Responsive - Perfect on all devices
- π Production Ready - Secure, scalable configuration
- Large temperature reading with gradient styling
- Weather conditions in Icelandic
- Wind speed in m/s (as preferred)
- Humidity, visibility, and pressure metrics
- UV index with visual gauge
- Sunrise/sunset times
- 3-day weather forecast
- Realistic Iceland weather patterns
- Wind speed and precipitation data
- Beautiful card-based layout
- Auto-refresh every 5 minutes
- Smooth animations and transitions
- Responsive sidebar navigation
- Weather station map with zoom controls
- Clone and setup
git clone <your-repo-url>
cd weather_station_v2
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt-
Environment configuration
cp env.example .env # Edit .env with your settings -
Run development server
python manage.py migrate
python manage.py runserver- Open browser
http://127.0.0.1:8000
See DEPLOYMENT.md for comprehensive deployment instructions.
Quick Heroku Deploy:
# Generate secret key
python generate_secret_key.py
# Test production settings
python production_test.py
# Deploy to Heroku
heroku create your-weather-app
heroku config:set SECRET_KEY="your-generated-key"
heroku config:set DEBUG=False
git push heroku main- Backend: Django 4.2.7
- Frontend: Bootstrap 5, Custom CSS
- Database: SQLite (dev) / PostgreSQL (prod)
- APIs: Weather.com Personal Station API
- Deployment: Heroku, Railway, DigitalOcean
- Static Files: Whitenoise
- Maps: Leaflet.js
weather_station_v2/
βββ weather_station/ # Django project settings
β βββ settings.py # Production-ready configuration
β βββ urls.py # URL routing
β βββ wsgi.py # WSGI application
βββ weather/ # Main weather app
β βββ models.py # Data models (future expansion)
β βββ views.py # View controllers
β βββ services.py # Weather API integration
β βββ urls.py # App URL patterns
βββ templates/ # HTML templates
β βββ base.html # Base template with navigation
β βββ weather/ # Weather-specific templates
βββ static/ # Static files (CSS, JS, images)
βββ requirements.txt # Python dependencies
βββ Procfile # Heroku deployment
βββ runtime.txt # Python version
βββ DEPLOYMENT.md # Deployment guide
- Station ID: IAKURE31
- Location: Akureyri, Iceland
- Data: Real-time temperature, humidity, wind, pressure, UV
- API: Weather.com Personal Weather Station
- Source: Local forecast generator
- Coverage: 3-day predictions
- Features: Iceland-appropriate weather patterns
- Reliability: Designed for local conditions
- Custom CSS variables for consistent theming
- Beautiful gradient accents (blue to purple)
- Smooth animations and hover effects
- Glass morphism effects
- Complete UI translation to Icelandic
- Proper date/time formatting
- Weather terminology in Icelandic
- Reykjavik timezone support
- Mobile-first approach
- Adaptive sidebar navigation
- Optimized for all screen sizes
- Touch-friendly interface
- Comprehensive application logging
- Weather API error tracking
- Production-ready log configuration
- Health check endpoints
- Environment-based configuration
- Secure secret key management
- HTTPS enforcement in production
- CSRF protection
- SQL injection prevention
Test your production configuration:
python production_test.pyGenerate secure secret key:
python generate_secret_key.py- Static file compression with Whitenoise
- Efficient database queries
- Client-side caching
- Optimized image assets
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is private and proprietary.
- Weather data provided by Weather.com API
- Icons from Bootstrap Icons
- Maps powered by Leaflet
- Built with Django framework
VeΓ°riΓ° hjΓ‘ Γla Bj. - Your personal weather station dashboard π€οΈ