From 8d6885cdda854eae93c8871090dc73fbfcbde215 Mon Sep 17 00:00:00 2001
From: Kim Siwon <shmd01@ajou.ac.kr>
Date: Sat, 14 Dec 2019 16:06:30 +0900
Subject: [PATCH] arrangement

---
 .../README.md                                 |   0
 .../backend/app.js                            |   0
 .../backend/bin/www                           |   0
 .../backend/models/aggregateCache.js          |   0
 .../backend/models/rpNodeData.js              |   0
 .../backend/models/tracking.js                |   0
 .../backend/models/userNode.js                |   0
 .../backend/models/users.js                   |   0
 .../backend/package-lock.json                 |   0
 .../backend/package.json                      |   0
 .../backend/public/chart.js                   |   0
 .../backend/public/lineChart.js               |   0
 .../backend/public/stylesheets/style.css      |   0
 .../backend/routes/api copy.js                |   0
 .../backend/routes/api.js                     |   0
 .../backend/routes/index.js                   |   0
 .../backend/routes/users.js                   |   0
 .../backend/views/error.pug                   |   0
 .../backend/views/index.pug                   |   0
 .../backend/views/layout.pug                  |   0
 .../backend/views/rpis.pug                    |   0
 .../backend/views/rpisAggregate.pug           |   0
 .../backend/views/users.pug                   |   0
 .../models/user                               |   0
 Server_Vue_Express/frontend/.babelrc          |  18 ---
 Server_Vue_Express/frontend/.editorconfig     |   9 --
 Server_Vue_Express/frontend/.eslintignore     |   5 -
 Server_Vue_Express/frontend/.eslintrc.js      |  29 ----
 Server_Vue_Express/frontend/.gitignore        |  17 --
 Server_Vue_Express/frontend/.postcssrc.js     |  10 --
 Server_Vue_Express/frontend/README.md         |  30 ----
 Server_Vue_Express/frontend/build/build.js    |  41 -----
 .../frontend/build/check-versions.js          |  54 -------
 Server_Vue_Express/frontend/build/logo.png    | Bin 6849 -> 0 bytes
 Server_Vue_Express/frontend/build/utils.js    | 101 ------------
 .../frontend/build/vue-loader.conf.js         |  22 ---
 .../frontend/build/webpack.base.conf.js       |  92 -----------
 .../frontend/build/webpack.dev.conf.js        |  95 -----------
 .../frontend/build/webpack.prod.conf.js       | 149 ------------------
 Server_Vue_Express/frontend/config/dev.env.js |   7 -
 Server_Vue_Express/frontend/config/index.js   |  76 ---------
 .../frontend/config/prod.env.js               |   4 -
 .../frontend/config/test.env.js               |   7 -
 Server_Vue_Express/frontend/index.html        |  12 --
 Server_Vue_Express/frontend/package.json      |  87 ----------
 Server_Vue_Express/frontend/src/App.vue       |  23 ---
 .../frontend/src/assets/logo.png              | Bin 6849 -> 0 bytes
 .../frontend/src/components/HelloWorld.vue    | 113 -------------
 Server_Vue_Express/frontend/src/main.js       |  15 --
 .../frontend/src/router/index.js              |  15 --
 Server_Vue_Express/frontend/static/.gitkeep   |   0
 .../e2e/custom-assertions/elementCount.js     |  27 ----
 .../frontend/test/e2e/nightwatch.conf.js      |  46 ------
 .../frontend/test/e2e/runner.js               |  48 ------
 .../frontend/test/e2e/specs/test.js           |  19 ---
 .../frontend/test/unit/.eslintrc              |   7 -
 .../frontend/test/unit/jest.conf.js           |  30 ----
 .../frontend/test/unit/setup.js               |   3 -
 .../test/unit/specs/HelloWorld.spec.js        |  11 --
 59 files changed, 1222 deletions(-)
 rename {Server_Vue_Express => Server_Express}/README.md (100%)
 rename {Server_Vue_Express => Server_Express}/backend/app.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/bin/www (100%)
 rename {Server_Vue_Express => Server_Express}/backend/models/aggregateCache.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/models/rpNodeData.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/models/tracking.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/models/userNode.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/models/users.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/package-lock.json (100%)
 rename {Server_Vue_Express => Server_Express}/backend/package.json (100%)
 rename {Server_Vue_Express => Server_Express}/backend/public/chart.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/public/lineChart.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/public/stylesheets/style.css (100%)
 rename {Server_Vue_Express => Server_Express}/backend/routes/api copy.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/routes/api.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/routes/index.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/routes/users.js (100%)
 rename {Server_Vue_Express => Server_Express}/backend/views/error.pug (100%)
 rename {Server_Vue_Express => Server_Express}/backend/views/index.pug (100%)
 rename {Server_Vue_Express => Server_Express}/backend/views/layout.pug (100%)
 rename {Server_Vue_Express => Server_Express}/backend/views/rpis.pug (100%)
 rename {Server_Vue_Express => Server_Express}/backend/views/rpisAggregate.pug (100%)
 rename {Server_Vue_Express => Server_Express}/backend/views/users.pug (100%)
 rename {Server_Vue_Express => Server_Express}/models/user (100%)
 delete mode 100644 Server_Vue_Express/frontend/.babelrc
 delete mode 100644 Server_Vue_Express/frontend/.editorconfig
 delete mode 100644 Server_Vue_Express/frontend/.eslintignore
 delete mode 100644 Server_Vue_Express/frontend/.eslintrc.js
 delete mode 100644 Server_Vue_Express/frontend/.gitignore
 delete mode 100644 Server_Vue_Express/frontend/.postcssrc.js
 delete mode 100644 Server_Vue_Express/frontend/README.md
 delete mode 100644 Server_Vue_Express/frontend/build/build.js
 delete mode 100644 Server_Vue_Express/frontend/build/check-versions.js
 delete mode 100644 Server_Vue_Express/frontend/build/logo.png
 delete mode 100644 Server_Vue_Express/frontend/build/utils.js
 delete mode 100644 Server_Vue_Express/frontend/build/vue-loader.conf.js
 delete mode 100644 Server_Vue_Express/frontend/build/webpack.base.conf.js
 delete mode 100644 Server_Vue_Express/frontend/build/webpack.dev.conf.js
 delete mode 100644 Server_Vue_Express/frontend/build/webpack.prod.conf.js
 delete mode 100644 Server_Vue_Express/frontend/config/dev.env.js
 delete mode 100644 Server_Vue_Express/frontend/config/index.js
 delete mode 100644 Server_Vue_Express/frontend/config/prod.env.js
 delete mode 100644 Server_Vue_Express/frontend/config/test.env.js
 delete mode 100644 Server_Vue_Express/frontend/index.html
 delete mode 100644 Server_Vue_Express/frontend/package.json
 delete mode 100644 Server_Vue_Express/frontend/src/App.vue
 delete mode 100644 Server_Vue_Express/frontend/src/assets/logo.png
 delete mode 100644 Server_Vue_Express/frontend/src/components/HelloWorld.vue
 delete mode 100644 Server_Vue_Express/frontend/src/main.js
 delete mode 100644 Server_Vue_Express/frontend/src/router/index.js
 delete mode 100644 Server_Vue_Express/frontend/static/.gitkeep
 delete mode 100644 Server_Vue_Express/frontend/test/e2e/custom-assertions/elementCount.js
 delete mode 100644 Server_Vue_Express/frontend/test/e2e/nightwatch.conf.js
 delete mode 100644 Server_Vue_Express/frontend/test/e2e/runner.js
 delete mode 100644 Server_Vue_Express/frontend/test/e2e/specs/test.js
 delete mode 100644 Server_Vue_Express/frontend/test/unit/.eslintrc
 delete mode 100644 Server_Vue_Express/frontend/test/unit/jest.conf.js
 delete mode 100644 Server_Vue_Express/frontend/test/unit/setup.js
 delete mode 100644 Server_Vue_Express/frontend/test/unit/specs/HelloWorld.spec.js

diff --git a/Server_Vue_Express/README.md b/Server_Express/README.md
similarity index 100%
rename from Server_Vue_Express/README.md
rename to Server_Express/README.md
diff --git a/Server_Vue_Express/backend/app.js b/Server_Express/backend/app.js
similarity index 100%
rename from Server_Vue_Express/backend/app.js
rename to Server_Express/backend/app.js
diff --git a/Server_Vue_Express/backend/bin/www b/Server_Express/backend/bin/www
similarity index 100%
rename from Server_Vue_Express/backend/bin/www
rename to Server_Express/backend/bin/www
diff --git a/Server_Vue_Express/backend/models/aggregateCache.js b/Server_Express/backend/models/aggregateCache.js
similarity index 100%
rename from Server_Vue_Express/backend/models/aggregateCache.js
rename to Server_Express/backend/models/aggregateCache.js
diff --git a/Server_Vue_Express/backend/models/rpNodeData.js b/Server_Express/backend/models/rpNodeData.js
similarity index 100%
rename from Server_Vue_Express/backend/models/rpNodeData.js
rename to Server_Express/backend/models/rpNodeData.js
diff --git a/Server_Vue_Express/backend/models/tracking.js b/Server_Express/backend/models/tracking.js
similarity index 100%
rename from Server_Vue_Express/backend/models/tracking.js
rename to Server_Express/backend/models/tracking.js
diff --git a/Server_Vue_Express/backend/models/userNode.js b/Server_Express/backend/models/userNode.js
similarity index 100%
rename from Server_Vue_Express/backend/models/userNode.js
rename to Server_Express/backend/models/userNode.js
diff --git a/Server_Vue_Express/backend/models/users.js b/Server_Express/backend/models/users.js
similarity index 100%
rename from Server_Vue_Express/backend/models/users.js
rename to Server_Express/backend/models/users.js
diff --git a/Server_Vue_Express/backend/package-lock.json b/Server_Express/backend/package-lock.json
similarity index 100%
rename from Server_Vue_Express/backend/package-lock.json
rename to Server_Express/backend/package-lock.json
diff --git a/Server_Vue_Express/backend/package.json b/Server_Express/backend/package.json
similarity index 100%
rename from Server_Vue_Express/backend/package.json
rename to Server_Express/backend/package.json
diff --git a/Server_Vue_Express/backend/public/chart.js b/Server_Express/backend/public/chart.js
similarity index 100%
rename from Server_Vue_Express/backend/public/chart.js
rename to Server_Express/backend/public/chart.js
diff --git a/Server_Vue_Express/backend/public/lineChart.js b/Server_Express/backend/public/lineChart.js
similarity index 100%
rename from Server_Vue_Express/backend/public/lineChart.js
rename to Server_Express/backend/public/lineChart.js
diff --git a/Server_Vue_Express/backend/public/stylesheets/style.css b/Server_Express/backend/public/stylesheets/style.css
similarity index 100%
rename from Server_Vue_Express/backend/public/stylesheets/style.css
rename to Server_Express/backend/public/stylesheets/style.css
diff --git a/Server_Vue_Express/backend/routes/api copy.js b/Server_Express/backend/routes/api copy.js
similarity index 100%
rename from Server_Vue_Express/backend/routes/api copy.js
rename to Server_Express/backend/routes/api copy.js
diff --git a/Server_Vue_Express/backend/routes/api.js b/Server_Express/backend/routes/api.js
similarity index 100%
rename from Server_Vue_Express/backend/routes/api.js
rename to Server_Express/backend/routes/api.js
diff --git a/Server_Vue_Express/backend/routes/index.js b/Server_Express/backend/routes/index.js
similarity index 100%
rename from Server_Vue_Express/backend/routes/index.js
rename to Server_Express/backend/routes/index.js
diff --git a/Server_Vue_Express/backend/routes/users.js b/Server_Express/backend/routes/users.js
similarity index 100%
rename from Server_Vue_Express/backend/routes/users.js
rename to Server_Express/backend/routes/users.js
diff --git a/Server_Vue_Express/backend/views/error.pug b/Server_Express/backend/views/error.pug
similarity index 100%
rename from Server_Vue_Express/backend/views/error.pug
rename to Server_Express/backend/views/error.pug
diff --git a/Server_Vue_Express/backend/views/index.pug b/Server_Express/backend/views/index.pug
similarity index 100%
rename from Server_Vue_Express/backend/views/index.pug
rename to Server_Express/backend/views/index.pug
diff --git a/Server_Vue_Express/backend/views/layout.pug b/Server_Express/backend/views/layout.pug
similarity index 100%
rename from Server_Vue_Express/backend/views/layout.pug
rename to Server_Express/backend/views/layout.pug
diff --git a/Server_Vue_Express/backend/views/rpis.pug b/Server_Express/backend/views/rpis.pug
similarity index 100%
rename from Server_Vue_Express/backend/views/rpis.pug
rename to Server_Express/backend/views/rpis.pug
diff --git a/Server_Vue_Express/backend/views/rpisAggregate.pug b/Server_Express/backend/views/rpisAggregate.pug
similarity index 100%
rename from Server_Vue_Express/backend/views/rpisAggregate.pug
rename to Server_Express/backend/views/rpisAggregate.pug
diff --git a/Server_Vue_Express/backend/views/users.pug b/Server_Express/backend/views/users.pug
similarity index 100%
rename from Server_Vue_Express/backend/views/users.pug
rename to Server_Express/backend/views/users.pug
diff --git a/Server_Vue_Express/models/user b/Server_Express/models/user
similarity index 100%
rename from Server_Vue_Express/models/user
rename to Server_Express/models/user
diff --git a/Server_Vue_Express/frontend/.babelrc b/Server_Vue_Express/frontend/.babelrc
deleted file mode 100644
index 9390d16..0000000
--- a/Server_Vue_Express/frontend/.babelrc
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "presets": [
-    ["env", {
-      "modules": false,
-      "targets": {
-        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
-      }
-    }],
-    "stage-2"
-  ],
-  "plugins": ["transform-vue-jsx", "transform-runtime"],
-  "env": {
-    "test": {
-      "presets": ["env", "stage-2"],
-      "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
-    }
-  }
-}
diff --git a/Server_Vue_Express/frontend/.editorconfig b/Server_Vue_Express/frontend/.editorconfig
deleted file mode 100644
index 9d08a1a..0000000
--- a/Server_Vue_Express/frontend/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
diff --git a/Server_Vue_Express/frontend/.eslintignore b/Server_Vue_Express/frontend/.eslintignore
deleted file mode 100644
index e2192c5..0000000
--- a/Server_Vue_Express/frontend/.eslintignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/build/
-/config/
-/dist/
-/*.js
-/test/unit/coverage/
diff --git a/Server_Vue_Express/frontend/.eslintrc.js b/Server_Vue_Express/frontend/.eslintrc.js
deleted file mode 100644
index 22fdce8..0000000
--- a/Server_Vue_Express/frontend/.eslintrc.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// https://eslint.org/docs/user-guide/configuring
-
-module.exports = {
-  root: true,
-  parserOptions: {
-    parser: 'babel-eslint'
-  },
-  env: {
-    browser: true,
-  },
-  extends: [
-    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
-    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
-    'plugin:vue/essential', 
-    // https://github.com/standard/standard/blob/master/docs/RULES-en.md
-    'standard'
-  ],
-  // required to lint *.vue files
-  plugins: [
-    'vue'
-  ],
-  // add your custom rules here
-  rules: {
-    // allow async-await
-    'generator-star-spacing': 'off',
-    // allow debugger during development
-    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
-  }
-}
diff --git a/Server_Vue_Express/frontend/.gitignore b/Server_Vue_Express/frontend/.gitignore
deleted file mode 100644
index dfb4167..0000000
--- a/Server_Vue_Express/frontend/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-.DS_Store
-node_modules/
-/dist/
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-/test/unit/coverage/
-/test/e2e/reports/
-selenium-debug.log
-
-# Editor directories and files
-.idea
-.vscode
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
diff --git a/Server_Vue_Express/frontend/.postcssrc.js b/Server_Vue_Express/frontend/.postcssrc.js
deleted file mode 100644
index eee3e92..0000000
--- a/Server_Vue_Express/frontend/.postcssrc.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// https://github.com/michael-ciniawsky/postcss-load-config
-
-module.exports = {
-  "plugins": {
-    "postcss-import": {},
-    "postcss-url": {},
-    // to edit target browsers: use "browserslist" field in package.json
-    "autoprefixer": {}
-  }
-}
diff --git a/Server_Vue_Express/frontend/README.md b/Server_Vue_Express/frontend/README.md
deleted file mode 100644
index 099cbcc..0000000
--- a/Server_Vue_Express/frontend/README.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# frontend
-
-> IoT-System-TeamProject
-
-## Build Setup
-
-``` bash
-# install dependencies
-npm install
-
-# serve with hot reload at localhost:8080
-npm run dev
-
-# build for production with minification
-npm run build
-
-# build for production and view the bundle analyzer report
-npm run build --report
-
-# run unit tests
-npm run unit
-
-# run e2e tests
-npm run e2e
-
-# run all tests
-npm test
-```
-
-For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
diff --git a/Server_Vue_Express/frontend/build/build.js b/Server_Vue_Express/frontend/build/build.js
deleted file mode 100644
index 8f2ad8a..0000000
--- a/Server_Vue_Express/frontend/build/build.js
+++ /dev/null
@@ -1,41 +0,0 @@
-'use strict'
-require('./check-versions')()
-
-process.env.NODE_ENV = 'production'
-
-const ora = require('ora')
-const rm = require('rimraf')
-const path = require('path')
-const chalk = require('chalk')
-const webpack = require('webpack')
-const config = require('../config')
-const webpackConfig = require('./webpack.prod.conf')
-
-const spinner = ora('building for production...')
-spinner.start()
-
-rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
-  if (err) throw err
-  webpack(webpackConfig, (err, stats) => {
-    spinner.stop()
-    if (err) throw err
-    process.stdout.write(stats.toString({
-      colors: true,
-      modules: false,
-      children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
-      chunks: false,
-      chunkModules: false
-    }) + '\n\n')
-
-    if (stats.hasErrors()) {
-      console.log(chalk.red('  Build failed with errors.\n'))
-      process.exit(1)
-    }
-
-    console.log(chalk.cyan('  Build complete.\n'))
-    console.log(chalk.yellow(
-      '  Tip: built files are meant to be served over an HTTP server.\n' +
-      '  Opening index.html over file:// won\'t work.\n'
-    ))
-  })
-})
diff --git a/Server_Vue_Express/frontend/build/check-versions.js b/Server_Vue_Express/frontend/build/check-versions.js
deleted file mode 100644
index 3ef972a..0000000
--- a/Server_Vue_Express/frontend/build/check-versions.js
+++ /dev/null
@@ -1,54 +0,0 @@
-'use strict'
-const chalk = require('chalk')
-const semver = require('semver')
-const packageConfig = require('../package.json')
-const shell = require('shelljs')
-
-function exec (cmd) {
-  return require('child_process').execSync(cmd).toString().trim()
-}
-
-const versionRequirements = [
-  {
-    name: 'node',
-    currentVersion: semver.clean(process.version),
-    versionRequirement: packageConfig.engines.node
-  }
-]
-
-if (shell.which('npm')) {
-  versionRequirements.push({
-    name: 'npm',
-    currentVersion: exec('npm --version'),
-    versionRequirement: packageConfig.engines.npm
-  })
-}
-
-module.exports = function () {
-  const warnings = []
-
-  for (let i = 0; i < versionRequirements.length; i++) {
-    const mod = versionRequirements[i]
-
-    if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
-      warnings.push(mod.name + ': ' +
-        chalk.red(mod.currentVersion) + ' should be ' +
-        chalk.green(mod.versionRequirement)
-      )
-    }
-  }
-
-  if (warnings.length) {
-    console.log('')
-    console.log(chalk.yellow('To use this template, you must update following to modules:'))
-    console.log()
-
-    for (let i = 0; i < warnings.length; i++) {
-      const warning = warnings[i]
-      console.log('  ' + warning)
-    }
-
-    console.log()
-    process.exit(1)
-  }
-}
diff --git a/Server_Vue_Express/frontend/build/logo.png b/Server_Vue_Express/frontend/build/logo.png
deleted file mode 100644
index f3d2503fc2a44b5053b0837ebea6e87a2d339a43..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6849
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
Hr-UW|hR3J6

diff --git a/Server_Vue_Express/frontend/build/utils.js b/Server_Vue_Express/frontend/build/utils.js
deleted file mode 100644
index e534fb0..0000000
--- a/Server_Vue_Express/frontend/build/utils.js
+++ /dev/null
@@ -1,101 +0,0 @@
-'use strict'
-const path = require('path')
-const config = require('../config')
-const ExtractTextPlugin = require('extract-text-webpack-plugin')
-const packageConfig = require('../package.json')
-
-exports.assetsPath = function (_path) {
-  const assetsSubDirectory = process.env.NODE_ENV === 'production'
-    ? config.build.assetsSubDirectory
-    : config.dev.assetsSubDirectory
-
-  return path.posix.join(assetsSubDirectory, _path)
-}
-
-exports.cssLoaders = function (options) {
-  options = options || {}
-
-  const cssLoader = {
-    loader: 'css-loader',
-    options: {
-      sourceMap: options.sourceMap
-    }
-  }
-
-  const postcssLoader = {
-    loader: 'postcss-loader',
-    options: {
-      sourceMap: options.sourceMap
-    }
-  }
-
-  // generate loader string to be used with extract text plugin
-  function generateLoaders (loader, loaderOptions) {
-    const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
-
-    if (loader) {
-      loaders.push({
-        loader: loader + '-loader',
-        options: Object.assign({}, loaderOptions, {
-          sourceMap: options.sourceMap
-        })
-      })
-    }
-
-    // Extract CSS when that option is specified
-    // (which is the case during production build)
-    if (options.extract) {
-      return ExtractTextPlugin.extract({
-        use: loaders,
-        fallback: 'vue-style-loader'
-      })
-    } else {
-      return ['vue-style-loader'].concat(loaders)
-    }
-  }
-
-  // https://vue-loader.vuejs.org/en/configurations/extract-css.html
-  return {
-    css: generateLoaders(),
-    postcss: generateLoaders(),
-    less: generateLoaders('less'),
-    sass: generateLoaders('sass', { indentedSyntax: true }),
-    scss: generateLoaders('sass'),
-    stylus: generateLoaders('stylus'),
-    styl: generateLoaders('stylus')
-  }
-}
-
-// Generate loaders for standalone style files (outside of .vue)
-exports.styleLoaders = function (options) {
-  const output = []
-  const loaders = exports.cssLoaders(options)
-
-  for (const extension in loaders) {
-    const loader = loaders[extension]
-    output.push({
-      test: new RegExp('\\.' + extension + '$'),
-      use: loader
-    })
-  }
-
-  return output
-}
-
-exports.createNotifierCallback = () => {
-  const notifier = require('node-notifier')
-
-  return (severity, errors) => {
-    if (severity !== 'error') return
-
-    const error = errors[0]
-    const filename = error.file && error.file.split('!').pop()
-
-    notifier.notify({
-      title: packageConfig.name,
-      message: severity + ': ' + error.name,
-      subtitle: filename || '',
-      icon: path.join(__dirname, 'logo.png')
-    })
-  }
-}
diff --git a/Server_Vue_Express/frontend/build/vue-loader.conf.js b/Server_Vue_Express/frontend/build/vue-loader.conf.js
deleted file mode 100644
index 33ed58b..0000000
--- a/Server_Vue_Express/frontend/build/vue-loader.conf.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict'
-const utils = require('./utils')
-const config = require('../config')
-const isProduction = process.env.NODE_ENV === 'production'
-const sourceMapEnabled = isProduction
-  ? config.build.productionSourceMap
-  : config.dev.cssSourceMap
-
-module.exports = {
-  loaders: utils.cssLoaders({
-    sourceMap: sourceMapEnabled,
-    extract: isProduction
-  }),
-  cssSourceMap: sourceMapEnabled,
-  cacheBusting: config.dev.cacheBusting,
-  transformToRequire: {
-    video: ['src', 'poster'],
-    source: 'src',
-    img: 'src',
-    image: 'xlink:href'
-  }
-}
diff --git a/Server_Vue_Express/frontend/build/webpack.base.conf.js b/Server_Vue_Express/frontend/build/webpack.base.conf.js
deleted file mode 100644
index 1f4f47e..0000000
--- a/Server_Vue_Express/frontend/build/webpack.base.conf.js
+++ /dev/null
@@ -1,92 +0,0 @@
-'use strict'
-const path = require('path')
-const utils = require('./utils')
-const config = require('../config')
-const vueLoaderConfig = require('./vue-loader.conf')
-
-function resolve (dir) {
-  return path.join(__dirname, '..', dir)
-}
-
-const createLintingRule = () => ({
-  test: /\.(js|vue)$/,
-  loader: 'eslint-loader',
-  enforce: 'pre',
-  include: [resolve('src'), resolve('test')],
-  options: {
-    formatter: require('eslint-friendly-formatter'),
-    emitWarning: !config.dev.showEslintErrorsInOverlay
-  }
-})
-
-module.exports = {
-  context: path.resolve(__dirname, '../'),
-  entry: {
-    app: './src/main.js'
-  },
-  output: {
-    path: config.build.assetsRoot,
-    filename: '[name].js',
-    publicPath: process.env.NODE_ENV === 'production'
-      ? config.build.assetsPublicPath
-      : config.dev.assetsPublicPath
-  },
-  resolve: {
-    extensions: ['.js', '.vue', '.json'],
-    alias: {
-      'vue$': 'vue/dist/vue.esm.js',
-      '@': resolve('src'),
-    }
-  },
-  module: {
-    rules: [
-      ...(config.dev.useEslint ? [createLintingRule()] : []),
-      {
-        test: /\.vue$/,
-        loader: 'vue-loader',
-        options: vueLoaderConfig
-      },
-      {
-        test: /\.js$/,
-        loader: 'babel-loader',
-        include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
-      },
-      {
-        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
-        loader: 'url-loader',
-        options: {
-          limit: 10000,
-          name: utils.assetsPath('img/[name].[hash:7].[ext]')
-        }
-      },
-      {
-        test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
-        loader: 'url-loader',
-        options: {
-          limit: 10000,
-          name: utils.assetsPath('media/[name].[hash:7].[ext]')
-        }
-      },
-      {
-        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
-        loader: 'url-loader',
-        options: {
-          limit: 10000,
-          name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
-        }
-      }
-    ]
-  },
-  node: {
-    // prevent webpack from injecting useless setImmediate polyfill because Vue
-    // source contains it (although only uses it if it's native).
-    setImmediate: false,
-    // prevent webpack from injecting mocks to Node native modules
-    // that does not make sense for the client
-    dgram: 'empty',
-    fs: 'empty',
-    net: 'empty',
-    tls: 'empty',
-    child_process: 'empty'
-  }
-}
diff --git a/Server_Vue_Express/frontend/build/webpack.dev.conf.js b/Server_Vue_Express/frontend/build/webpack.dev.conf.js
deleted file mode 100644
index 070ae22..0000000
--- a/Server_Vue_Express/frontend/build/webpack.dev.conf.js
+++ /dev/null
@@ -1,95 +0,0 @@
-'use strict'
-const utils = require('./utils')
-const webpack = require('webpack')
-const config = require('../config')
-const merge = require('webpack-merge')
-const path = require('path')
-const baseWebpackConfig = require('./webpack.base.conf')
-const CopyWebpackPlugin = require('copy-webpack-plugin')
-const HtmlWebpackPlugin = require('html-webpack-plugin')
-const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
-const portfinder = require('portfinder')
-
-const HOST = process.env.HOST
-const PORT = process.env.PORT && Number(process.env.PORT)
-
-const devWebpackConfig = merge(baseWebpackConfig, {
-  module: {
-    rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
-  },
-  // cheap-module-eval-source-map is faster for development
-  devtool: config.dev.devtool,
-
-  // these devServer options should be customized in /config/index.js
-  devServer: {
-    clientLogLevel: 'warning',
-    historyApiFallback: {
-      rewrites: [
-        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
-      ],
-    },
-    hot: true,
-    contentBase: false, // since we use CopyWebpackPlugin.
-    compress: true,
-    host: HOST || config.dev.host,
-    port: PORT || config.dev.port,
-    open: config.dev.autoOpenBrowser,
-    overlay: config.dev.errorOverlay
-      ? { warnings: false, errors: true }
-      : false,
-    publicPath: config.dev.assetsPublicPath,
-    proxy: config.dev.proxyTable,
-    quiet: true, // necessary for FriendlyErrorsPlugin
-    watchOptions: {
-      poll: config.dev.poll,
-    }
-  },
-  plugins: [
-    new webpack.DefinePlugin({
-      'process.env': require('../config/dev.env')
-    }),
-    new webpack.HotModuleReplacementPlugin(),
-    new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
-    new webpack.NoEmitOnErrorsPlugin(),
-    // https://github.com/ampedandwired/html-webpack-plugin
-    new HtmlWebpackPlugin({
-      filename: 'index.html',
-      template: 'index.html',
-      inject: true
-    }),
-    // copy custom static assets
-    new CopyWebpackPlugin([
-      {
-        from: path.resolve(__dirname, '../static'),
-        to: config.dev.assetsSubDirectory,
-        ignore: ['.*']
-      }
-    ])
-  ]
-})
-
-module.exports = new Promise((resolve, reject) => {
-  portfinder.basePort = process.env.PORT || config.dev.port
-  portfinder.getPort((err, port) => {
-    if (err) {
-      reject(err)
-    } else {
-      // publish the new Port, necessary for e2e tests
-      process.env.PORT = port
-      // add port to devServer config
-      devWebpackConfig.devServer.port = port
-
-      // Add FriendlyErrorsPlugin
-      devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
-        compilationSuccessInfo: {
-          messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
-        },
-        onErrors: config.dev.notifyOnErrors
-        ? utils.createNotifierCallback()
-        : undefined
-      }))
-
-      resolve(devWebpackConfig)
-    }
-  })
-})
diff --git a/Server_Vue_Express/frontend/build/webpack.prod.conf.js b/Server_Vue_Express/frontend/build/webpack.prod.conf.js
deleted file mode 100644
index 2f17259..0000000
--- a/Server_Vue_Express/frontend/build/webpack.prod.conf.js
+++ /dev/null
@@ -1,149 +0,0 @@
-'use strict'
-const path = require('path')
-const utils = require('./utils')
-const webpack = require('webpack')
-const config = require('../config')
-const merge = require('webpack-merge')
-const baseWebpackConfig = require('./webpack.base.conf')
-const CopyWebpackPlugin = require('copy-webpack-plugin')
-const HtmlWebpackPlugin = require('html-webpack-plugin')
-const ExtractTextPlugin = require('extract-text-webpack-plugin')
-const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
-const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
-
-const env = process.env.NODE_ENV === 'testing'
-  ? require('../config/test.env')
-  : require('../config/prod.env')
-
-const webpackConfig = merge(baseWebpackConfig, {
-  module: {
-    rules: utils.styleLoaders({
-      sourceMap: config.build.productionSourceMap,
-      extract: true,
-      usePostCSS: true
-    })
-  },
-  devtool: config.build.productionSourceMap ? config.build.devtool : false,
-  output: {
-    path: config.build.assetsRoot,
-    filename: utils.assetsPath('js/[name].[chunkhash].js'),
-    chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
-  },
-  plugins: [
-    // http://vuejs.github.io/vue-loader/en/workflow/production.html
-    new webpack.DefinePlugin({
-      'process.env': env
-    }),
-    new UglifyJsPlugin({
-      uglifyOptions: {
-        compress: {
-          warnings: false
-        }
-      },
-      sourceMap: config.build.productionSourceMap,
-      parallel: true
-    }),
-    // extract css into its own file
-    new ExtractTextPlugin({
-      filename: utils.assetsPath('css/[name].[contenthash].css'),
-      // Setting the following option to `false` will not extract CSS from codesplit chunks.
-      // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
-      // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, 
-      // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
-      allChunks: true,
-    }),
-    // Compress extracted CSS. We are using this plugin so that possible
-    // duplicated CSS from different components can be deduped.
-    new OptimizeCSSPlugin({
-      cssProcessorOptions: config.build.productionSourceMap
-        ? { safe: true, map: { inline: false } }
-        : { safe: true }
-    }),
-    // generate dist index.html with correct asset hash for caching.
-    // you can customize output by editing /index.html
-    // see https://github.com/ampedandwired/html-webpack-plugin
-    new HtmlWebpackPlugin({
-      filename: process.env.NODE_ENV === 'testing'
-        ? 'index.html'
-        : config.build.index,
-      template: 'index.html',
-      inject: true,
-      minify: {
-        removeComments: true,
-        collapseWhitespace: true,
-        removeAttributeQuotes: true
-        // more options:
-        // https://github.com/kangax/html-minifier#options-quick-reference
-      },
-      // necessary to consistently work with multiple chunks via CommonsChunkPlugin
-      chunksSortMode: 'dependency'
-    }),
-    // keep module.id stable when vendor modules does not change
-    new webpack.HashedModuleIdsPlugin(),
-    // enable scope hoisting
-    new webpack.optimize.ModuleConcatenationPlugin(),
-    // split vendor js into its own file
-    new webpack.optimize.CommonsChunkPlugin({
-      name: 'vendor',
-      minChunks (module) {
-        // any required modules inside node_modules are extracted to vendor
-        return (
-          module.resource &&
-          /\.js$/.test(module.resource) &&
-          module.resource.indexOf(
-            path.join(__dirname, '../node_modules')
-          ) === 0
-        )
-      }
-    }),
-    // extract webpack runtime and module manifest to its own file in order to
-    // prevent vendor hash from being updated whenever app bundle is updated
-    new webpack.optimize.CommonsChunkPlugin({
-      name: 'manifest',
-      minChunks: Infinity
-    }),
-    // This instance extracts shared chunks from code splitted chunks and bundles them
-    // in a separate chunk, similar to the vendor chunk
-    // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
-    new webpack.optimize.CommonsChunkPlugin({
-      name: 'app',
-      async: 'vendor-async',
-      children: true,
-      minChunks: 3
-    }),
-
-    // copy custom static assets
-    new CopyWebpackPlugin([
-      {
-        from: path.resolve(__dirname, '../static'),
-        to: config.build.assetsSubDirectory,
-        ignore: ['.*']
-      }
-    ])
-  ]
-})
-
-if (config.build.productionGzip) {
-  const CompressionWebpackPlugin = require('compression-webpack-plugin')
-
-  webpackConfig.plugins.push(
-    new CompressionWebpackPlugin({
-      asset: '[path].gz[query]',
-      algorithm: 'gzip',
-      test: new RegExp(
-        '\\.(' +
-        config.build.productionGzipExtensions.join('|') +
-        ')$'
-      ),
-      threshold: 10240,
-      minRatio: 0.8
-    })
-  )
-}
-
-if (config.build.bundleAnalyzerReport) {
-  const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
-  webpackConfig.plugins.push(new BundleAnalyzerPlugin())
-}
-
-module.exports = webpackConfig
diff --git a/Server_Vue_Express/frontend/config/dev.env.js b/Server_Vue_Express/frontend/config/dev.env.js
deleted file mode 100644
index 1e22973..0000000
--- a/Server_Vue_Express/frontend/config/dev.env.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-const merge = require('webpack-merge')
-const prodEnv = require('./prod.env')
-
-module.exports = merge(prodEnv, {
-  NODE_ENV: '"development"'
-})
diff --git a/Server_Vue_Express/frontend/config/index.js b/Server_Vue_Express/frontend/config/index.js
deleted file mode 100644
index 926ab36..0000000
--- a/Server_Vue_Express/frontend/config/index.js
+++ /dev/null
@@ -1,76 +0,0 @@
-'use strict'
-// Template version: 1.3.1
-// see http://vuejs-templates.github.io/webpack for documentation.
-
-const path = require('path')
-
-module.exports = {
-  dev: {
-
-    // Paths
-    assetsSubDirectory: 'static',
-    assetsPublicPath: '/',
-    proxyTable: {},
-
-    // Various Dev Server settings
-    host: 'localhost', // can be overwritten by process.env.HOST
-    port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
-    autoOpenBrowser: false,
-    errorOverlay: true,
-    notifyOnErrors: true,
-    poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
-
-    // Use Eslint Loader?
-    // If true, your code will be linted during bundling and
-    // linting errors and warnings will be shown in the console.
-    useEslint: true,
-    // If true, eslint errors and warnings will also be shown in the error overlay
-    // in the browser.
-    showEslintErrorsInOverlay: false,
-
-    /**
-     * Source Maps
-     */
-
-    // https://webpack.js.org/configuration/devtool/#development
-    devtool: 'cheap-module-eval-source-map',
-
-    // If you have problems debugging vue-files in devtools,
-    // set this to false - it *may* help
-    // https://vue-loader.vuejs.org/en/options.html#cachebusting
-    cacheBusting: true,
-
-    cssSourceMap: true
-  },
-
-  build: {
-    // Template for index.html
-    index: path.resolve(__dirname, '../dist/index.html'),
-
-    // Paths
-    assetsRoot: path.resolve(__dirname, '../dist'),
-    assetsSubDirectory: 'static',
-    assetsPublicPath: '/',
-
-    /**
-     * Source Maps
-     */
-
-    productionSourceMap: true,
-    // https://webpack.js.org/configuration/devtool/#production
-    devtool: '#source-map',
-
-    // Gzip off by default as many popular static hosts such as
-    // Surge or Netlify already gzip all static assets for you.
-    // Before setting to `true`, make sure to:
-    // npm install --save-dev compression-webpack-plugin
-    productionGzip: false,
-    productionGzipExtensions: ['js', 'css'],
-
-    // Run the build command with an extra argument to
-    // View the bundle analyzer report after build finishes:
-    // `npm run build --report`
-    // Set to `true` or `false` to always turn it on or off
-    bundleAnalyzerReport: process.env.npm_config_report
-  }
-}
diff --git a/Server_Vue_Express/frontend/config/prod.env.js b/Server_Vue_Express/frontend/config/prod.env.js
deleted file mode 100644
index a6f9976..0000000
--- a/Server_Vue_Express/frontend/config/prod.env.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict'
-module.exports = {
-  NODE_ENV: '"production"'
-}
diff --git a/Server_Vue_Express/frontend/config/test.env.js b/Server_Vue_Express/frontend/config/test.env.js
deleted file mode 100644
index c2824a3..0000000
--- a/Server_Vue_Express/frontend/config/test.env.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-const merge = require('webpack-merge')
-const devEnv = require('./dev.env')
-
-module.exports = merge(devEnv, {
-  NODE_ENV: '"testing"'
-})
diff --git a/Server_Vue_Express/frontend/index.html b/Server_Vue_Express/frontend/index.html
deleted file mode 100644
index 12bce14..0000000
--- a/Server_Vue_Express/frontend/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <title>frontend</title>
-  </head>
-  <body>
-    <div id="app"></div>
-    <!-- built files will be auto injected -->
-  </body>
-</html>
diff --git a/Server_Vue_Express/frontend/package.json b/Server_Vue_Express/frontend/package.json
deleted file mode 100644
index d46c8cf..0000000
--- a/Server_Vue_Express/frontend/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "name": "frontend",
-  "version": "1.0.0",
-  "description": "IoT-System-TeamProject",
-  "author": "Kim Siwon",
-  "private": true,
-  "scripts": {
-    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
-    "start": "npm run dev",
-    "unit": "jest --config test/unit/jest.conf.js --coverage",
-    "e2e": "node test/e2e/runner.js",
-    "test": "npm run unit && npm run e2e",
-    "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",
-    "build": "node build/build.js"
-  },
-  "dependencies": {
-    "vue": "^2.5.2",
-    "vue-router": "^3.0.1"
-  },
-  "devDependencies": {
-    "autoprefixer": "^7.1.2",
-    "babel-core": "^6.22.1",
-    "babel-eslint": "^8.2.1",
-    "babel-helper-vue-jsx-merge-props": "^2.0.3",
-    "babel-jest": "^21.0.2",
-    "babel-loader": "^7.1.1",
-    "babel-plugin-dynamic-import-node": "^1.2.0",
-    "babel-plugin-syntax-jsx": "^6.18.0",
-    "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
-    "babel-plugin-transform-runtime": "^6.22.0",
-    "babel-plugin-transform-vue-jsx": "^3.5.0",
-    "babel-preset-env": "^1.3.2",
-    "babel-preset-stage-2": "^6.22.0",
-    "babel-register": "^6.22.0",
-    "chalk": "^2.0.1",
-    "chromedriver": "^2.27.2",
-    "copy-webpack-plugin": "^4.0.1",
-    "cross-spawn": "^5.0.1",
-    "css-loader": "^0.28.0",
-    "eslint": "^4.15.0",
-    "eslint-config-standard": "^10.2.1",
-    "eslint-friendly-formatter": "^3.0.0",
-    "eslint-loader": "^1.7.1",
-    "eslint-plugin-import": "^2.7.0",
-    "eslint-plugin-node": "^5.2.0",
-    "eslint-plugin-promise": "^3.4.0",
-    "eslint-plugin-standard": "^3.0.1",
-    "eslint-plugin-vue": "^4.0.0",
-    "extract-text-webpack-plugin": "^3.0.0",
-    "file-loader": "^1.1.4",
-    "friendly-errors-webpack-plugin": "^1.6.1",
-    "html-webpack-plugin": "^2.30.1",
-    "jest": "^22.0.4",
-    "jest-serializer-vue": "^0.3.0",
-    "nightwatch": "^0.9.12",
-    "node-notifier": "^5.1.2",
-    "optimize-css-assets-webpack-plugin": "^3.2.0",
-    "ora": "^1.2.0",
-    "portfinder": "^1.0.13",
-    "postcss-import": "^11.0.0",
-    "postcss-loader": "^2.0.8",
-    "postcss-url": "^7.2.1",
-    "rimraf": "^2.6.0",
-    "selenium-server": "^3.0.1",
-    "semver": "^5.3.0",
-    "shelljs": "^0.7.6",
-    "uglifyjs-webpack-plugin": "^1.1.1",
-    "url-loader": "^0.5.8",
-    "vue-jest": "^1.0.2",
-    "vue-loader": "^13.3.0",
-    "vue-style-loader": "^3.0.1",
-    "vue-template-compiler": "^2.5.2",
-    "webpack": "^3.6.0",
-    "webpack-bundle-analyzer": "^2.9.0",
-    "webpack-dev-server": "^2.9.1",
-    "webpack-merge": "^4.1.0"
-  },
-  "engines": {
-    "node": ">= 6.0.0",
-    "npm": ">= 3.0.0"
-  },
-  "browserslist": [
-    "> 1%",
-    "last 2 versions",
-    "not ie <= 8"
-  ]
-}
diff --git a/Server_Vue_Express/frontend/src/App.vue b/Server_Vue_Express/frontend/src/App.vue
deleted file mode 100644
index d74c648..0000000
--- a/Server_Vue_Express/frontend/src/App.vue
+++ /dev/null
@@ -1,23 +0,0 @@
-<template>
-  <div id="app">
-    <img src="./assets/logo.png">
-    <router-view/>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'App'
-}
-</script>
-
-<style>
-#app {
-  font-family: 'Avenir', Helvetica, Arial, sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  text-align: center;
-  color: #2c3e50;
-  margin-top: 60px;
-}
-</style>
diff --git a/Server_Vue_Express/frontend/src/assets/logo.png b/Server_Vue_Express/frontend/src/assets/logo.png
deleted file mode 100644
index f3d2503fc2a44b5053b0837ebea6e87a2d339a43..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6849
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
Hr-UW|hR3J6

diff --git a/Server_Vue_Express/frontend/src/components/HelloWorld.vue b/Server_Vue_Express/frontend/src/components/HelloWorld.vue
deleted file mode 100644
index 1c19f2a..0000000
--- a/Server_Vue_Express/frontend/src/components/HelloWorld.vue
+++ /dev/null
@@ -1,113 +0,0 @@
-<template>
-  <div class="hello">
-    <h1>{{ msg }}</h1>
-    <h2>Essential Links</h2>
-    <ul>
-      <li>
-        <a
-          href="https://vuejs.org"
-          target="_blank"
-        >
-          Core Docs
-        </a>
-      </li>
-      <li>
-        <a
-          href="https://forum.vuejs.org"
-          target="_blank"
-        >
-          Forum
-        </a>
-      </li>
-      <li>
-        <a
-          href="https://chat.vuejs.org"
-          target="_blank"
-        >
-          Community Chat
-        </a>
-      </li>
-      <li>
-        <a
-          href="https://twitter.com/vuejs"
-          target="_blank"
-        >
-          Twitter
-        </a>
-      </li>
-      <br>
-      <li>
-        <a
-          href="http://vuejs-templates.github.io/webpack/"
-          target="_blank"
-        >
-          Docs for This Template
-        </a>
-      </li>
-    </ul>
-    <h2>Ecosystem</h2>
-    <ul>
-      <li>
-        <a
-          href="http://router.vuejs.org/"
-          target="_blank"
-        >
-          vue-router
-        </a>
-      </li>
-      <li>
-        <a
-          href="http://vuex.vuejs.org/"
-          target="_blank"
-        >
-          vuex
-        </a>
-      </li>
-      <li>
-        <a
-          href="http://vue-loader.vuejs.org/"
-          target="_blank"
-        >
-          vue-loader
-        </a>
-      </li>
-      <li>
-        <a
-          href="https://github.com/vuejs/awesome-vue"
-          target="_blank"
-        >
-          awesome-vue
-        </a>
-      </li>
-    </ul>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'HelloWorld',
-  data () {
-    return {
-      msg: 'Welcome to Your Vue.js App'
-    }
-  }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped>
-h1, h2 {
-  font-weight: normal;
-}
-ul {
-  list-style-type: none;
-  padding: 0;
-}
-li {
-  display: inline-block;
-  margin: 0 10px;
-}
-a {
-  color: #42b983;
-}
-</style>
diff --git a/Server_Vue_Express/frontend/src/main.js b/Server_Vue_Express/frontend/src/main.js
deleted file mode 100644
index 417390e..0000000
--- a/Server_Vue_Express/frontend/src/main.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// The Vue build version to load with the `import` command
-// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
-import Vue from 'vue'
-import App from './App'
-import router from './router'
-
-Vue.config.productionTip = false
-
-/* eslint-disable no-new */
-new Vue({
-  el: '#app',
-  router,
-  components: { App },
-  template: '<App/>'
-})
diff --git a/Server_Vue_Express/frontend/src/router/index.js b/Server_Vue_Express/frontend/src/router/index.js
deleted file mode 100644
index 5fa7f9d..0000000
--- a/Server_Vue_Express/frontend/src/router/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import Vue from 'vue'
-import Router from 'vue-router'
-import HelloWorld from '@/components/HelloWorld'
-
-Vue.use(Router)
-
-export default new Router({
-  routes: [
-    {
-      path: '/',
-      name: 'HelloWorld',
-      component: HelloWorld
-    }
-  ]
-})
diff --git a/Server_Vue_Express/frontend/static/.gitkeep b/Server_Vue_Express/frontend/static/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/Server_Vue_Express/frontend/test/e2e/custom-assertions/elementCount.js b/Server_Vue_Express/frontend/test/e2e/custom-assertions/elementCount.js
deleted file mode 100644
index 818e602..0000000
--- a/Server_Vue_Express/frontend/test/e2e/custom-assertions/elementCount.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// A custom Nightwatch assertion.
-// The assertion name is the filename.
-// Example usage:
-//
-//   browser.assert.elementCount(selector, count)
-//
-// For more information on custom assertions see:
-// http://nightwatchjs.org/guide#writing-custom-assertions
-
-exports.assertion = function (selector, count) {
-  this.message = 'Testing if element <' + selector + '> has count: ' + count
-  this.expected = count
-  this.pass = function (val) {
-    return val === this.expected
-  }
-  this.value = function (res) {
-    return res.value
-  }
-  this.command = function (cb) {
-    var self = this
-    return this.api.execute(function (selector) {
-      return document.querySelectorAll(selector).length
-    }, [selector], function (res) {
-      cb.call(self, res)
-    })
-  }
-}
diff --git a/Server_Vue_Express/frontend/test/e2e/nightwatch.conf.js b/Server_Vue_Express/frontend/test/e2e/nightwatch.conf.js
deleted file mode 100644
index f019c0a..0000000
--- a/Server_Vue_Express/frontend/test/e2e/nightwatch.conf.js
+++ /dev/null
@@ -1,46 +0,0 @@
-require('babel-register')
-var config = require('../../config')
-
-// http://nightwatchjs.org/gettingstarted#settings-file
-module.exports = {
-  src_folders: ['test/e2e/specs'],
-  output_folder: 'test/e2e/reports',
-  custom_assertions_path: ['test/e2e/custom-assertions'],
-
-  selenium: {
-    start_process: true,
-    server_path: require('selenium-server').path,
-    host: '127.0.0.1',
-    port: 4444,
-    cli_args: {
-      'webdriver.chrome.driver': require('chromedriver').path
-    }
-  },
-
-  test_settings: {
-    default: {
-      selenium_port: 4444,
-      selenium_host: 'localhost',
-      silent: true,
-      globals: {
-        devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
-      }
-    },
-
-    chrome: {
-      desiredCapabilities: {
-        browserName: 'chrome',
-        javascriptEnabled: true,
-        acceptSslCerts: true
-      }
-    },
-
-    firefox: {
-      desiredCapabilities: {
-        browserName: 'firefox',
-        javascriptEnabled: true,
-        acceptSslCerts: true
-      }
-    }
-  }
-}
diff --git a/Server_Vue_Express/frontend/test/e2e/runner.js b/Server_Vue_Express/frontend/test/e2e/runner.js
deleted file mode 100644
index 2722032..0000000
--- a/Server_Vue_Express/frontend/test/e2e/runner.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// 1. start the dev server using production config
-process.env.NODE_ENV = 'testing'
-
-const webpack = require('webpack')
-const DevServer = require('webpack-dev-server')
-
-const webpackConfig = require('../../build/webpack.prod.conf')
-const devConfigPromise = require('../../build/webpack.dev.conf')
-
-let server
-
-devConfigPromise.then(devConfig => {
-  const devServerOptions = devConfig.devServer
-  const compiler = webpack(webpackConfig)
-  server = new DevServer(compiler, devServerOptions)
-  const port = devServerOptions.port
-  const host = devServerOptions.host
-  return server.listen(port, host)
-})
-.then(() => {
-  // 2. run the nightwatch test suite against it
-  // to run in additional browsers:
-  //    1. add an entry in test/e2e/nightwatch.conf.js under "test_settings"
-  //    2. add it to the --env flag below
-  // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
-  // For more information on Nightwatch's config file, see
-  // http://nightwatchjs.org/guide#settings-file
-  let opts = process.argv.slice(2)
-  if (opts.indexOf('--config') === -1) {
-    opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])
-  }
-  if (opts.indexOf('--env') === -1) {
-    opts = opts.concat(['--env', 'chrome'])
-  }
-
-  const spawn = require('cross-spawn')
-  const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' })
-
-  runner.on('exit', function (code) {
-    server.close()
-    process.exit(code)
-  })
-
-  runner.on('error', function (err) {
-    server.close()
-    throw err
-  })
-})
diff --git a/Server_Vue_Express/frontend/test/e2e/specs/test.js b/Server_Vue_Express/frontend/test/e2e/specs/test.js
deleted file mode 100644
index a7b1bd9..0000000
--- a/Server_Vue_Express/frontend/test/e2e/specs/test.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// For authoring Nightwatch tests, see
-// http://nightwatchjs.org/guide#usage
-
-module.exports = {
-  'default e2e tests': function (browser) {
-    // automatically uses dev Server port from /config.index.js
-    // default: http://localhost:8080
-    // see nightwatch.conf.js
-    const devServer = browser.globals.devServerURL
-
-    browser
-      .url(devServer)
-      .waitForElementVisible('#app', 5000)
-      .assert.elementPresent('.hello')
-      .assert.containsText('h1', 'Welcome to Your Vue.js App')
-      .assert.elementCount('img', 1)
-      .end()
-  }
-}
diff --git a/Server_Vue_Express/frontend/test/unit/.eslintrc b/Server_Vue_Express/frontend/test/unit/.eslintrc
deleted file mode 100644
index 4d5d98f..0000000
--- a/Server_Vue_Express/frontend/test/unit/.eslintrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "env": { 
-    "jest": true
-  },
-  "globals": { 
-  }
-}
diff --git a/Server_Vue_Express/frontend/test/unit/jest.conf.js b/Server_Vue_Express/frontend/test/unit/jest.conf.js
deleted file mode 100644
index 4f7da15..0000000
--- a/Server_Vue_Express/frontend/test/unit/jest.conf.js
+++ /dev/null
@@ -1,30 +0,0 @@
-const path = require('path')
-
-module.exports = {
-  rootDir: path.resolve(__dirname, '../../'),
-  moduleFileExtensions: [
-    'js',
-    'json',
-    'vue'
-  ],
-  moduleNameMapper: {
-    '^@/(.*)$': '<rootDir>/src/$1'
-  },
-  transform: {
-    '^.+\\.js$': '<rootDir>/node_modules/babel-jest',
-    '.*\\.(vue)$': '<rootDir>/node_modules/vue-jest'
-  },
-  testPathIgnorePatterns: [
-    '<rootDir>/test/e2e'
-  ],
-  snapshotSerializers: ['<rootDir>/node_modules/jest-serializer-vue'],
-  setupFiles: ['<rootDir>/test/unit/setup'],
-  mapCoverage: true,
-  coverageDirectory: '<rootDir>/test/unit/coverage',
-  collectCoverageFrom: [
-    'src/**/*.{js,vue}',
-    '!src/main.js',
-    '!src/router/index.js',
-    '!**/node_modules/**'
-  ]
-}
diff --git a/Server_Vue_Express/frontend/test/unit/setup.js b/Server_Vue_Express/frontend/test/unit/setup.js
deleted file mode 100644
index edbdbae..0000000
--- a/Server_Vue_Express/frontend/test/unit/setup.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Vue from 'vue'
-
-Vue.config.productionTip = false
diff --git a/Server_Vue_Express/frontend/test/unit/specs/HelloWorld.spec.js b/Server_Vue_Express/frontend/test/unit/specs/HelloWorld.spec.js
deleted file mode 100644
index cfb0453..0000000
--- a/Server_Vue_Express/frontend/test/unit/specs/HelloWorld.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import Vue from 'vue'
-import HelloWorld from '@/components/HelloWorld'
-
-describe('HelloWorld.vue', () => {
-  it('should render correct contents', () => {
-    const Constructor = Vue.extend(HelloWorld)
-    const vm = new Constructor().$mount()
-    expect(vm.$el.querySelector('.hello h1').textContent)
-      .toEqual('Welcome to Your Vue.js App')
-  })
-})
-- 
GitLab