Test assessment implemented for Appchance recruitment, June 2020.
Component | Props | Description |
---|---|---|
DetailsRow | time: Number description: String temperature: Number |
A row, containing weather data for a specific hour. |
WeatherBlock | location: String country: String description: String temperature: Number |
A block, representing current weather and location data. |
Vuex storage.
Module | Description |
---|---|
general | Current weather data. |
details | Detailed weather data. |
Helper functions for the application logic.
Function | Description |
---|---|
Api.getWeather(location) | Requests current weather from OpenWeatherMap API for a given location. Input: location: { lat: Number, lon: Number } || { name: String } Returns: Promise |
Api.getDetails(location) | Requests hourly weather from OpenWeatherMap API for a given location. Input: location: { lat: Number, lon: Number } Returns: Promise |
Function | Description |
---|---|
formatDate(timestamp) | Converts unix timestamp to human readable date (DD.MM.YYY). Input: timestamp: Number Returns: String |
getHour(timestamp) | Converts unix timestamp to human readable time (HH:MM). Input: timestamp: Number Returns: String |
Components as a router views.
Url | Component |
---|---|
/ | Home.vue, Home.scss |
/details | Details.vue, Details.scss |
npm install
npm run serve
npm run build
npm run test:unit
npm run lint