├── .browserslistrc ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── CHANGELOG.md ├── LICENSE ├── README.md ├── babel.config.js ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── index.html └── living.jpg └── src ├── App.vue ├── main.js └── views ├── device.vue ├── devices.vue ├── family.vue ├── home.vue ├── living.vue ├── logs.vue ├── rooms.vue ├── scenes.vue ├── search.vue ├── settings.vue ├── status.vue └── tv.vue /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not ie <= 8 4 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/essential', 8 | '@vue/standard' 9 | ], 10 | rules: { 11 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 12 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 13 | }, 14 | parserOptions: { 15 | parser: 'babel-eslint' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: {} 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | ## [0.1.6](https://github.com/zircleui/tutorial/compare/v0.1.5...v0.1.6) (2019-05-02) 6 | 7 | 8 | 9 | 10 | ## [0.1.5](https://github.com/zircleui/tutorial/compare/v0.1.4...v0.1.5) (2019-04-22) 11 | 12 | 13 | 14 | 15 | ## [0.1.4](https://github.com/zircleui/tutorial/compare/v0.1.3...v0.1.4) (2019-01-06) 16 | 17 | 18 | 19 | 20 | ## [0.1.3](https://github.com/zircleui/tutorial/compare/v0.1.2...v0.1.3) (2018-11-25) 21 | 22 | 23 | ### Bug Fixes 24 | 25 | * 🐛 home name ([071b762](https://github.com/zircleui/tutorial/commit/071b762)), closes [#1](https://github.com/zircleui/tutorial/issues/1) 26 | 27 | 28 | 29 | 30 | ## [0.1.2](https://github.com/zircleui/tutorial/compare/v0.1.1...v0.1.2) (2018-11-19) 31 | 32 | 33 | 34 | 35 | ## 0.1.1 (2018-08-17) 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018-present, Juan Martín Muda 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Zircle-ui: smart-home tutorial 2 | 3 | > :wave: This app is powered by [**zircle-ui**](https://github.com/zircleUI/zircleUI) :rocket: and is part of [its official tutorial](https://zircleui.github.io/docs/tutorial/). You can play with a working demo on [**CodeSandbox**](https://codesandbox.io/s/23wlzq4l1r?view=preview) 4 | 5 | 6 | 7 | 8 | ## Project setup 9 | 10 | ``` 11 | git clone https://github.com/zircleUI/tutorial.git 12 | 13 | ``` 14 | 15 | After cloning the repository, execute: 16 | 17 | ``` 18 | npm install 19 | ``` 20 | 21 | ### Compiles and hot-reloads for development 22 | ``` 23 | npm run serve 24 | ``` 25 | 26 | ### Compiles and minifies for production 27 | ``` 28 | npm run build 29 | ``` 30 | 31 | ### Lints and fixes files 32 | ``` 33 | npm run lint 34 | ``` 35 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "smart-home", 3 | "version": "0.1.6", 4 | "description": "Demo app for zircle-ui tutorial", 5 | "author": "Juan Martín Muda ", 6 | "scripts": { 7 | "serve": "vue-cli-service serve", 8 | "build": "vue-cli-service build", 9 | "lint": "vue-cli-service lint" 10 | }, 11 | "keywords": [ 12 | "zircle", 13 | "smart-home", 14 | "tutorial", 15 | "vue", 16 | "javascript" 17 | ], 18 | "dependencies": { 19 | "leaflet": "^1.4.0", 20 | "smoothie": "^1.35.0", 21 | "vue": "^2.6.10", 22 | "vue-router": "^3.0.6", 23 | "zircle": "^1.2.5" 24 | }, 25 | "devDependencies": { 26 | "@vue/cli-plugin-babel": "^3.6.0", 27 | "@vue/cli-plugin-eslint": "^3.6.0", 28 | "@vue/cli-service": "^3.6.0", 29 | "@vue/eslint-config-standard": "^3.0.5", 30 | "node-sass": "^4.12.0", 31 | "sass-loader": "^7.0.1", 32 | "vue-template-compiler": "^2.6.10" 33 | }, 34 | "repository": { 35 | "type": "git", 36 | "url": "git+https://github.com/zircleui/tutorial.git" 37 | }, 38 | "bugs": { 39 | "url": "https://github.com/zircleui/tutorial/issues" 40 | }, 41 | "homepage": "https://github.com/zircleui/tutorial#readme", 42 | "license": "MIT" 43 | } 44 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zircleUI/smarthome-tutorial/65ef72c79c29718d88f9e427fc8882987431b90e/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | smart-home 9 | 10 | 11 | 12 | We're sorry but smart-home doesn't work properly without JavaScript enabled. Please enable it to continue. 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /public/living.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zircleUI/smarthome-tutorial/65ef72c79c29718d88f9e427fc8882987431b90e/public/living.jpg -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 42 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import zircle from 'zircle' 4 | import 'zircle/dist/zircle.css' 5 | Vue.use(zircle) 6 | Vue.config.productionTip = false 7 | 8 | new Vue({ 9 | render: h => h(App) 10 | }).$mount('#app') 11 | -------------------------------------------------------------------------------- /src/views/device.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{category}} 4 | 9 | {{qty}} 10 | 11 | 12 | 13 | 31 | 32 | -------------------------------------------------------------------------------- /src/views/devices.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 13 | {{props.qty}} 14 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 48 | -------------------------------------------------------------------------------- /src/views/family.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 21 | 22 | 23 | 29 | 30 | 31 | 32 | 33 | 34 | 73 | 76 | 77 | -------------------------------------------------------------------------------- /src/views/home.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11:53 PM 4 | 5 | Monday, Oct. 6 | 7 | 8 | Night mode 9 | 10 | Outside 29˚C, sunny 11 | 12 | Inside 25˚C 13 | 14 | 15 | 21 | 22 | 15 23 | 24 | 25 | 32 | 33 | 34 | 35 | 42 | 4 43 | 44 | 45 | 52 | 5 53 | 54 | 55 | 62 | 45 63 | 64 | 65 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /src/views/living.vue: -------------------------------------------------------------------------------- 1 | 2 | 6 | Living room 7 | {{activeScene}} 8 | {{msg}} 9 | 10 | 11 | 12 | 23 | 24 | 29 | 30 | 31 | 41 | 42 | 43 | 44 | 45 | 46 | 123 | 124 | -------------------------------------------------------------------------------- /src/views/logs.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{log}} 6 | 7 | 8 | 9 | 17 | 18 | 19 | 20 | Are your sure? 21 | 22 | 29 | 30 | 31 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 78 | 84 | -------------------------------------------------------------------------------- /src/views/rooms.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | Rooms 4 | 5 | 8 | 16 | 21 | 22 | 23 | 24 | 31 | 32 | 33 | 34 | Add a new room? 35 | 36 | 43 | 44 | 45 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 75 | -------------------------------------------------------------------------------- /src/views/scenes.vue: -------------------------------------------------------------------------------- 1 | 2 | 7 | {{activeScene}} 8 | 9 | {{msg}} 10 | 11 | 12 | 21 | 22 | 23 | 24 | 25 | 26 | 78 | -------------------------------------------------------------------------------- /src/views/search.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 13 | 14 | 15 | 16 | 17 | 18 | 29 | -------------------------------------------------------------------------------- /src/views/settings.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ theme }} 4 | 5 | 18 | 19 | 20 | 21 | 52 | -------------------------------------------------------------------------------- /src/views/status.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 15 12 | 13 | 14 | 15 | 16 | 56 | -------------------------------------------------------------------------------- /src/views/tv.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Channel 9 5 | 6 | 7 | 11 | + 12 | 13 | 17 | - 18 | 19 | 24 | 25 | 26 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 68 | 69 | --------------------------------------------------------------------------------