A beautiful, multilingual weather application built with Go and modern web technologies. Features interactive maps, voice commands, and cloud coverage visualization.
- English 🇺🇸
- German 🇩🇪
- Ukrainian 🇺🇦
- Hebrew 🇮🇱 (with RTL support)
- OpenStreetMap integration with Leaflet
- Click to select any location worldwide
- Current location detection with permission
- Custom pink-themed markers and controls
- Dynamic cloud coverage based on weather conditions
- Speech recognition for hands-free operation
- Text-to-speech weather announcements
- Multilingual voice commands
- Voice reading toggle with persistence
- Real-time weather data from OpenWeatherMap API
- Temperature, humidity, wind speed
- Weather descriptions in multiple languages
- Cloud coverage visualization
- Animated cloud layer for atmosphere
- Pink-rose theme with 3D effects
- Responsive design for all devices
- Smooth animations and transitions
- Glass morphism effects
- Floating cloud animations
- Go 1.19 or higher
- OpenWeatherMap API key
-
Clone the repository
git clone <repository-url> cd weather-go
-
Set your API key
export OPENWEATHERMAP_API_KEY=your_api_key_here -
Run the application
go run main.go
-
Open your browser Navigate to
http://localhost:58080
- "weather in [city]"
- "temperature in [city]"
- "current weather"
- "weather here"
- "help"
- "wetter in [stadt]"
- "temperatur in [stadt]"
- "aktuelles wetter"
- "wetter hier"
- "hilfe"
- "погода в [місто]"
- "температура в [місто]"
- "поточна погода"
- "погода тут"
- "допомога"
- "מזג אוויר ב [עיר]"
- "טמפרטורה ב [עיר]"
- "מזג אוויר נוכחי"
- "מזג אוויר כאן"
- "עזרה"
OPENWEATHERMAP_API_KEY: Your OpenWeatherMap API key
The app automatically saves:
- Language preference
- Voice reading toggle state
weather-go/
├── main.go # Go server entry point
├── templates/
│ └── index.html # Main web interface
├── go.mod # Go module file
├── go.sum # Go dependencies
├── .gitignore # Git ignore rules
└── README.md # This file
- Backend: Go with Gin framework
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Maps: OpenStreetMap with Leaflet.js
- Weather API: OpenWeatherMap
- Voice: Web Speech API
- Storage: Browser localStorage
- Works on desktop, tablet, and mobile devices
- Adaptive layout for different screen sizes
- Touch-friendly interface
- Screen reader compatible
- Keyboard navigation support
- High contrast elements
- Voice command alternatives
- Optimized cloud animations
- Efficient map rendering
- Minimal API calls
- Fast page loading
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
- OpenWeatherMap for weather data
- OpenStreetMap for map tiles
- Leaflet.js for map functionality
- Web Speech API for voice features
Enjoy your weather experience! 🌸☁️