diff --git a/src/components/AppHeader/index.js b/src/components/AppHeader/index.js
index b8f3ab3..e180e80 100644
--- a/src/components/AppHeader/index.js
+++ b/src/components/AppHeader/index.js
@@ -1,2 +1,2 @@
-import AppHeader from "./AppHeader";
+import AppHeader from './AppHeader';
 export default AppHeader;
diff --git a/src/components/AppNavigation/index.js b/src/components/AppNavigation/index.js
index 8046f70..88fe8eb 100644
--- a/src/components/AppNavigation/index.js
+++ b/src/components/AppNavigation/index.js
@@ -1,2 +1,2 @@
-import AppNavigation from "./AppNavigation";
+import AppNavigation from './AppNavigation';
 export default AppNavigation;
diff --git a/src/main.js b/src/main.js
index 695c008..023c24e 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,8 +1,8 @@
-import Vue from "vue";
-import App from "./App.vue";
-import router from "./router";
-import store from "./store";
-import { dateFilter } from "vue-date-fns";
+import Vue from 'vue';
+import App from './App.vue';
+import router from './router';
+import store from './store';
+import { dateFilter } from 'vue-date-fns';
 import {
   BadgePlugin,
   ButtonPlugin,
@@ -20,9 +20,9 @@
   NavbarPlugin,
   NavPlugin,
   TablePlugin
-} from "bootstrap-vue";
+} from 'bootstrap-vue';
 
-Vue.filter("date", dateFilter);
+Vue.filter('date', dateFilter);
 
 Vue.use(BadgePlugin);
 Vue.use(ButtonPlugin);
@@ -46,4 +46,4 @@
   router,
   store,
   render: h => h(App)
-}).$mount("#app");
+}).$mount('#app');
diff --git a/src/router/index.js b/src/router/index.js
index 9c80234..99f2a12 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,42 +1,42 @@
-import Vue from "vue";
-import VueRouter from "vue-router";
-import store from "../store/index";
-import AppLayout from "../layouts/AppLayout.vue";
+import Vue from 'vue';
+import VueRouter from 'vue-router';
+import store from '../store/index';
+import AppLayout from '../layouts/AppLayout.vue';
 
 Vue.use(VueRouter);
 
 const routes = [
   {
-    path: "/",
-    name: "",
+    path: '/',
+    name: '',
     meta: {
       requiresAuth: true
     },
     component: AppLayout,
     children: [
       {
-        path: "",
-        component: () => import("@/views/Overview"),
+        path: '',
+        component: () => import('@/views/Overview'),
         meta: {
-          title: "Server Overview"
+          title: 'Server Overview'
         }
       },
       {
-        path: "/access-control/local-user-management",
-        name: "local-users",
-        component: () => import("@/views/AccessControl/LocalUserManagement"),
+        path: '/access-control/local-user-management',
+        name: 'local-users',
+        component: () => import('@/views/AccessControl/LocalUserManagement'),
         meta: {
-          title: "Manage Local Users"
+          title: 'Manage Local Users'
         }
       }
     ]
   },
   {
-    path: "/login",
-    name: "login",
-    component: () => import("@/views/Login"),
+    path: '/login',
+    name: 'login',
+    component: () => import('@/views/Login'),
     meta: {
-      title: "Login"
+      title: 'Login'
     }
   }
 ];
@@ -44,16 +44,16 @@
 const router = new VueRouter({
   base: process.env.BASE_URL,
   routes,
-  linkExactActiveClass: "nav__link--current"
+  linkExactActiveClass: 'nav__link--current'
 });
 
 router.beforeEach((to, from, next) => {
   if (to.matched.some(record => record.meta.requiresAuth)) {
-    if (store.getters["authentication/isLoggedIn"]) {
+    if (store.getters['authentication/isLoggedIn']) {
       next();
       return;
     }
-    next("/login");
+    next('/login');
   } else {
     next();
   }
diff --git a/src/store/api.js b/src/store/api.js
index c50bcbe..da6f398 100644
--- a/src/store/api.js
+++ b/src/store/api.js
@@ -1,4 +1,4 @@
-import Axios from "axios";
+import Axios from 'axios';
 
 const api = Axios.create({
   withCredentials: true
diff --git a/src/store/index.js b/src/store/index.js
index b4be6cc..4ef1c9d 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,9 +1,9 @@
-import Vue from "vue";
-import Vuex from "vuex";
+import Vue from 'vue';
+import Vuex from 'vuex';
 
-import GlobalStore from "./modules/GlobalStore";
-import AuthenticationStore from "./modules/Authentication/AuthenticanStore";
-import LocalUserManagementStore from "./modules/AccessControl/LocalUserMangementStore";
+import GlobalStore from './modules/GlobalStore';
+import AuthenticationStore from './modules/Authentication/AuthenticanStore';
+import LocalUserManagementStore from './modules/AccessControl/LocalUserMangementStore';
 
 Vue.use(Vuex);
 
diff --git a/src/store/modules/AccessControl/LocalUserMangementStore.js b/src/store/modules/AccessControl/LocalUserMangementStore.js
index de79a2d..815c166 100644
--- a/src/store/modules/AccessControl/LocalUserMangementStore.js
+++ b/src/store/modules/AccessControl/LocalUserMangementStore.js
@@ -1,4 +1,4 @@
-import api from "../../api";
+import api from '../../api';
 
 const LocalUserManagementStore = {
   namespaced: true,
@@ -18,12 +18,12 @@
   actions: {
     getUsers({ commit }) {
       api
-        .get("/redfish/v1/AccountService/Accounts")
-        .then(response => response.data.Members.map(user => user["@odata.id"]))
+        .get('/redfish/v1/AccountService/Accounts')
+        .then(response => response.data.Members.map(user => user['@odata.id']))
         .then(userIds => api.all(userIds.map(user => api.get(user))))
         .then(users => {
           const userData = users.map(user => user.data);
-          commit("setUsers", userData);
+          commit('setUsers', userData);
         })
         .catch(error => console.log(error));
     },
@@ -35,8 +35,8 @@
         Enabled: status
       };
       api
-        .post("/redfish/v1/AccountService/Accounts", data)
-        .then(() => dispatch("getUsers"))
+        .post('/redfish/v1/AccountService/Accounts', data)
+        .then(() => dispatch('getUsers'))
         .catch(error => console.log(error));
     },
     updateUser(
@@ -50,13 +50,13 @@
       if (status !== undefined) data.Enabled = status;
       api
         .patch(`/redfish/v1/AccountService/Accounts/${originalUsername}`, data)
-        .then(() => dispatch("getUsers"))
+        .then(() => dispatch('getUsers'))
         .catch(error => console.log(error));
     },
     deleteUser({ dispatch }, username) {
       api
         .delete(`/redfish/v1/AccountService/Accounts/${username}`)
-        .then(() => dispatch("getUsers"))
+        .then(() => dispatch('getUsers'))
         .catch(error => console.log(error));
     }
   }
diff --git a/src/store/modules/Authentication/AuthenticanStore.js b/src/store/modules/Authentication/AuthenticanStore.js
index 3512e2d..88456e9 100644
--- a/src/store/modules/Authentication/AuthenticanStore.js
+++ b/src/store/modules/Authentication/AuthenticanStore.js
@@ -1,11 +1,11 @@
-import api from "../../api";
-import Cookies from "js-cookie";
+import api from '../../api';
+import Cookies from 'js-cookie';
 
 const AuthenticationStore = {
   namespaced: true,
   state: {
-    status: "",
-    cookie: Cookies.get("XSRF-TOKEN")
+    status: '',
+    cookie: Cookies.get('XSRF-TOKEN')
   },
   getters: {
     authStatus: state => state.status,
@@ -13,35 +13,35 @@
   },
   mutations: {
     authRequest(state) {
-      state.status = "loading";
+      state.status = 'loading';
     },
     authSuccess(state) {
-      state.status = "authenticated";
-      state.cookie = Cookies.get("XSRF-TOKEN");
+      state.status = 'authenticated';
+      state.cookie = Cookies.get('XSRF-TOKEN');
     },
     authError(state) {
-      state.status = "error";
+      state.status = 'error';
     },
     logout(state) {
-      state.status = "";
-      Cookies.remove("XSRF-TOKEN");
+      state.status = '';
+      Cookies.remove('XSRF-TOKEN');
     }
   },
   actions: {
     login({ commit }, auth) {
-      commit("authRequest");
+      commit('authRequest');
       return api
-        .post("/login", { data: auth })
-        .then(() => commit("authSuccess"))
+        .post('/login', { data: auth })
+        .then(() => commit('authSuccess'))
         .catch(error => {
-          commit("authError");
+          commit('authError');
           throw new Error(error);
         });
     },
     logout({ commit }) {
       api
-        .post("/logout", { data: [] })
-        .then(() => commit("logout"))
+        .post('/logout', { data: [] })
+        .then(() => commit('logout'))
         .catch(error => console.log(error));
     }
   }
diff --git a/src/store/modules/GlobalStore.js b/src/store/modules/GlobalStore.js
index 332c801..8cf2e8e 100644
--- a/src/store/modules/GlobalStore.js
+++ b/src/store/modules/GlobalStore.js
@@ -1,9 +1,9 @@
-import api from "../api";
+import api from '../api';
 
 const GlobalStore = {
   namespaced: true,
   state: {
-    hostName: "--",
+    hostName: '--',
     hostStatus: null
   },
   getters: {
@@ -22,10 +22,10 @@
   actions: {
     getHostName({ commit }) {
       api
-        .get("/xyz/openbmc_project/network/config/attr/HostName")
+        .get('/xyz/openbmc_project/network/config/attr/HostName')
         .then(response => {
           const hostName = response.data.data;
-          commit("setHostName", hostName);
+          commit('setHostName', hostName);
         })
         .catch(error => console.log(error));
     }
diff --git a/src/views/AccessControl/LocalUserManagement/index.js b/src/views/AccessControl/LocalUserManagement/index.js
index 9137645..315748a 100644
--- a/src/views/AccessControl/LocalUserManagement/index.js
+++ b/src/views/AccessControl/LocalUserManagement/index.js
@@ -1,2 +1,2 @@
-import LocalUserManagement from "./LocalUserManagement.vue";
+import LocalUserManagement from './LocalUserManagement.vue';
 export default LocalUserManagement;
diff --git a/src/views/Login/index.js b/src/views/Login/index.js
index 7fc2b5c..8fe0250 100644
--- a/src/views/Login/index.js
+++ b/src/views/Login/index.js
@@ -1,2 +1,2 @@
-import Login from "./Login.vue";
+import Login from './Login.vue';
 export default Login;
diff --git a/src/views/Overview/index.js b/src/views/Overview/index.js
index 6b0e1af..8553ef3 100644
--- a/src/views/Overview/index.js
+++ b/src/views/Overview/index.js
@@ -1,2 +1,2 @@
-import Overview from "./Overview.vue";
+import Overview from './Overview.vue';
 export default Overview;
