Veather stands for Vue + Weather
Simple weather app based on OpenWeatherMap API
Basic app for viewing weather fast. More of a practice project.
Project uses:
- Vue.js v2 (Vue router, Vuex)
- Vuetify
- date-fns
- ESLint
- Prettier
- StyleLint
- Sass
- OpenWeatherMap API
- Axios
- TypeScript
- Simple and clean interface
- Ability to save cities to localStorage
- Quick access to specific cities by URL
- Quick access to saved cities from home page
- src
- @types - Custom types for TypeScript
- store.d.ts - Custom Vuex state types
- weatherData.d.ts - OpenWeatherMap API responses types
- assets
- components - Custom components
- modules
- axios.ts - Global Axios instance with predefined defaults
- plugins - Vue CLI plugins
- vuetify.ts - Vuetify config
- router - Vue router config and routes
- index.ts - Router instance init
- store - Vuex config
- views - Vue pages
- FullReport.vue - View of the weather full report page
- Home.vue - Home page view. Contains saved cities data
- App.vue - Main Vue layout
- main.ts - Vue mount instance
- shims-*.d.ts - Vue typescript shims
- @types - Custom types for TypeScript
-
Clone the repo.
-
Create
.env.local
file at the root and add your OpenWeatherMap API key:
VUE_APP_API_KEY=
- Install dependencies:
yarn install
yarn serve
yarn build
yarn lint