The Weather App is a web application that provides users with current weather conditions and forecasts for specified locations. It allows users to search for weather information based on geographical coordinates or city names.
- Get current weather conditions based on coordinates.
- Search for weather information by city name.
- View detailed forecasts for up to 5 days.
- Responsive design for use on various devices.
- Frontend: React.js
- Backend: Node.js with Express.js
- APIs: OpenWeather API
- Styling: CSS, Tailwind CSS
- Date & Time Formatting: date-fns
- Icons: Font Awesome
-
Clone the repository using web URL, SSH or the official GitHub CLI.
-
Navigate to the project directory:
cd weather-app
-
Install dependencies for the frontend:
npm install
-
Install dependencies for the backend:
cd server npm install
-
Start the frontend development server:
npm run dev
-
Start the backend development server:
cd server npm run dev
-
Open your web browser and navigate to
http://localhost:5173
to view the application.
- Weather data provided by OpenWeather.
- Icons provided by Font Awesome.
- Built with React and Express.
-
React.js Fundamentals: Strengthened understanding of React basics including component composition, state management (useState, useEffect), user interaction handling, and conditional rendering.
-
API Integration: Gained practical experience in fetching and handling data from external APIs (e.g., OpenWeather API), improving proficiency in managing asynchronous data in web apps.
-
Backend Development: Explored building a Node.js/Express.js backend, learning about RESTful API principles, HTTP request handling, and server-side operations like data validation.
-
Styling with Tailwind CSS: Experimented with Tailwind CSS for diverse styling techniques, creating visually appealing and responsive user interfaces. This enriched my skills in frontend development and UI design.
-
Date and Time Manipulation: Used date-fns library for date and time formatting, enhancing skills in working with date objects and managing timezones effectively.
-
Error Handling and Debugging: Refined debugging skills by resolving errors and bugs encountered during development, ensuring application robustness through effective error handling.
This project is licensed under the MIT License - see the LICENSE file for details.
Happy coding! 🚀🌐