A Modern, Responsive Weather Application Built with React, TypeScript and Vite. Get Real-time Weather Information for any City Around the World with a Clean and Intuitive Interface.
- π City Search: Search for Weather Information by City Name
- π‘οΈ Current Weather: Display Current Temperature, Wind Speed and Weather Conditions
- πΊοΈ Location Info: Shows City Name and Country
- π± Responsive Design: Works Seamlessly on Desktop and Mobile Devices
- β‘ Fast Loading: Built with Vite for Optimal Performance
- π¨ Glassmorphism UI: Beautiful Dynamic Gradients and Modern Translucent Cards
- β¨ Dynamic Icons: Features Engaging Loading Animations and Lucide Icons
- Frontend: React 19 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS v3
- Icons: Lucide React
- Weather API: Open-Meteo (free, no API key required)
- Geocoding: Open-Meteo Geocoding API
-
Clone the repository:
git clone https://github.com/AyushHL/weather-now.git cd weather-now -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
npm run dev- Start the Development Servernpm run build- Build the Application for Productionnpm run preview- Preview the Production Build Locallynpm run lint- Run ESLint for Code Linting
This Application uses the Free Open-Meteo API which Provides:
- Weather Data: Current Weather Conditions including Temperature, Wind Speed and Weather Codes
- Geocoding: Convert City Names to Coordinates for Weather Lookup
- No API Key Required: Completely Free to Use without Registration
weather-now/
βββ src/
β βββ api/
β β βββ weather.ts # Weather API functions
β βββ components/
β β βββ SearchBar.tsx # City search input component
β β βββ WeatherCard.tsx # Weather display component
β βββ App.tsx # Main application component
β βββ App.css # Application styles
β βββ main.tsx # Application entry point
β βββ index.css # Global styles
βββ public/ # Static assets
βββ package.json # Dependencies and scripts
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite configuration
βββ README.md # Project documentation
- Enter a City Name in the Search Bar
- Click "Search" or Press Enter
- View the Current Weather Information Including:
- Current Temperature in Celsius
- Wind Speed in km/h
- Weather Conditions
- Location Name and Country
- Last Updated Time
- Node.js (version 16 or higher)
- npm or yarn package manager
- Fork the Repository
- Create a New Branch:
git checkout -b feature/your-feature-name - Make your Changes and Commit them:
git commit -m 'Add some feature' - Push to the Branch:
git push origin feature/your-feature-name - Submit a Pull Request
This Project uses ESLint for Code Linting. Run npm run lint to Check for any Style Issues.
To Build the Application for Production:
npm run buildThe Built Files will be in the dist Directory, Ready for Deployment to any Static Hosting Service like Netlify, Vercel or GitHub Pages.
This Project is Open Source and Available under the MIT License.
Contributions are Welcome! Please Feel Free to Submit a Pull Request.
If you have any Questions or Need Help, Please open an issue on GitHub.