Skip to content

Latest commit

 

History

History
63 lines (38 loc) · 2.08 KB

README.md

File metadata and controls

63 lines (38 loc) · 2.08 KB

Weather Forecast Application

796_1x_shots_so

This project is a React application built using Vite, DaisyUI, and Recharts to display weather forecasts. The app allows users to search for cities, view a list of available places, and check the weather forecast for selected cities over the next 5 days. The weather data is visualized using bar charts to show minimum and maximum temperatures.

Code Challenge

This application was created as part of a coding challenge to demonstrate the ability to integrate APIs, manage application state, and visualize data using charts.

The project was developed by Emiliano Pacheco.

Features

  • City Search: Users can input city names to search for places.
  • Places List: Displays a horizontal scrollable list of places.
  • Weather Forecast: Shows weather data for selected cities, with charts displaying min and max temperatures.

Tech Stack

  • React: For building the user interface.
  • Vite: For fast development and bundling.
  • DaisyUI: For UI components and styling.
  • Recharts: For charting and data visualization.
  • TypeScript: For type safety.

API Integration

  • Reservamos API: Used to get city data and geographic coordinates.
  • OpenWeatherMap API: Used to get weather forecasts based on coordinates.

Setup

  1. Install dependencies:

    npm install
  2. Run the development server:

    npm run dev
  3. Open the application in your browser:

    Visit http://localhost:5173/ to view the app.

Usage

  1. Enter a city name in the search bar and click "Search" to find places.
  2. Click on a place from the list to fetch and display the weather forecast.
  3. View the weather forecast data in bar charts showing min and max temperatures for each day.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or comments, please reach out to Emiliano Pacheco at [email protected].