## Weather Dashboard

This project is a weather dashboard that retrieves and displays weather data for different locations.

## Installation

#### npm:

1. Clone the repository.
2. Run `npm install` to install the project dependencies.
3. Start the development server with `npm run dev` or build the production index.mjs with `npx nuxi build` and run it with `node .output/server/index.mjs`.
    - Don't forget to change the apiBaseURL at line 16 in WeatherDashboard.vue !\*

#### Docker:

1. There is a Dockerfile for image building
2. Also there is apublic image can be used:

    - docker pull git.argideli.com/argideli/weather-app:latest

## Usage

-   The dashboard fetches weather data from the API based on configured locations.
-   Add new locations by clicking on "+ Add Location"
    -   Upon entering a search input you will be presented with a list of locations
    -   Click on the desired location and then Add Location
-   View weather details by clicking on a specific location.
-   Remove a location by clicking on the trash bin

## Components

### Pages

-   index.vue

### Components

-   WeatherDashBoard.vue

    -   Displays the main table
    -   Subcomponents:
        -   AddLocation.vue
            -   Modal for adding a new location
        -   DeleteLocation.vue

            -   Modal confirming deletion of a location

        -   SlideDetails.vue

            -   Provides the seven day forecast of the location that was clicked
