This is an open source project from DevProjects. SkyWatch is a convenient and user-friendly tool that allows you to quickly and easily check the current weather and forecast for the next 2 days in any city. Simply type the name of the city you're interested in, and the web app will use the GeolocationAPI and WeatherAPI to retrieve the latest weather data and display it in an easy-to-read format.
Designed and Built with React, CSS, Chart.js, GeolocationAPI, and WeatherAPI.
My web app is built using React, a popular JavaScript library for building user interfaces. This allowed me to create a dynamic and interactive app that is responsive to user input and provides a smooth user experience.
I used CSS to style the app and make it visually appealing, and Chart.js to generate graphical representations of the weather data. This allowed me to display the weather forecast in an easy-to-understand format, with clear and informative charts that show the temperature and humidity changes, as well as the expected weather conditions, for each day of the week.
To retrieve the weather data, I used the GeolocationAPI and WeatherAPI. The GeolocationAPI allowed me to determine the user's location based on their IP address, while the WeatherAPI provides access to current and forecasted weather data for a given location. By combining these technologies, I was able to provide users with the most accurate and up-to-date weather information for any city they choose.
I learned a lot of new things while working on this project. I had to create a responsive dashboard-like interface using CSS flexbox, and I used the react-chartjs-2 library to work with Chart.js and customize the charts to my needs. The most challenging part was using the GeolocationAPI and WeatherAPI to retrieve the user's location and weather data, and then storing and manipulating the returned data.
Overall, I gained valuable experience in working with APIs and handling user input and interactions. I also improved my skills in web development, including designing and implementing user interfaces, and using different technologies to build a functional and efficient web app. I'm proud of what I achieved with this project, and I'm excited to continue learning and growing as a developer.