51 lines
1.4 KiB
Markdown
51 lines
1.4 KiB
Markdown
## 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
|