diff --git a/src/App.vue b/src/App.vue
index d5b4932..a5a768a 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -5,15 +5,15 @@
 </template>
 
 <style lang="scss">
-@import "@/assets/styles/_obmc-custom";
+@import '@/assets/styles/_obmc-custom';
 </style>
 
 <script>
 export default {
-  name: "App",
+  name: 'App',
   watch: {
     $route: function(to) {
-      document.title = to.meta.title || "Page is Missing Title";
+      document.title = to.meta.title || 'Page is Missing Title';
     }
   }
 };
diff --git a/src/components/AppHeader/AppHeader.vue b/src/components/AppHeader/AppHeader.vue
index 244eeb3..5c2c333 100644
--- a/src/components/AppHeader/AppHeader.vue
+++ b/src/components/AppHeader/AppHeader.vue
@@ -36,38 +36,38 @@
 </template>
 
 <script>
-import IconAvatar from "@carbon/icons-vue/es/user--avatar/20";
-import IconRenew from "@carbon/icons-vue/es/renew/20";
-import StatusIcon from "../Global/StatusIcon";
+import IconAvatar from '@carbon/icons-vue/es/user--avatar/20';
+import IconRenew from '@carbon/icons-vue/es/renew/20';
+import StatusIcon from '../Global/StatusIcon';
 export default {
-  name: "AppHeader",
+  name: 'AppHeader',
   components: { IconAvatar, IconRenew, StatusIcon },
   created() {
     this.getHostInfo();
   },
   computed: {
     hostStatus() {
-      return this.$store.getters["global/hostStatus"];
+      return this.$store.getters['global/hostStatus'];
     },
     hostStatusIcon() {
       switch (this.hostStatus) {
-        case "on":
-          return "success";
-        case "error":
-          return "danger";
-        case "off":
+        case 'on':
+          return 'success';
+        case 'error':
+          return 'danger';
+        case 'off':
         default:
-          return "secondary";
+          return 'secondary';
       }
     }
   },
   methods: {
     getHostInfo() {
-      this.$store.dispatch("global/getHostStatus");
+      this.$store.dispatch('global/getHostStatus');
     },
     logout() {
-      this.$store.dispatch("authentication/logout").then(() => {
-        this.$router.push("/login");
+      this.$store.dispatch('authentication/logout').then(() => {
+        this.$router.push('/login');
       });
     }
   }
diff --git a/src/components/AppNavigation/AppNavigation.vue b/src/components/AppNavigation/AppNavigation.vue
index 06e9efe..6871b88 100644
--- a/src/components/AppNavigation/AppNavigation.vue
+++ b/src/components/AppNavigation/AppNavigation.vue
@@ -56,14 +56,14 @@
 </template>
 
 <script>
-import Analytics16 from "@carbon/icons-vue/es/analytics/16";
-import DataCheck16 from "@carbon/icons-vue/es/data--check/16";
-import SettingsAdjust16 from "@carbon/icons-vue/es/settings--adjust/16";
-import Settings16 from "@carbon/icons-vue/es/settings/16";
-import Password16 from "@carbon/icons-vue/es/password/16";
+import Analytics16 from '@carbon/icons-vue/es/analytics/16';
+import DataCheck16 from '@carbon/icons-vue/es/data--check/16';
+import SettingsAdjust16 from '@carbon/icons-vue/es/settings--adjust/16';
+import Settings16 from '@carbon/icons-vue/es/settings/16';
+import Password16 from '@carbon/icons-vue/es/password/16';
 
 export default {
-  name: "AppNavigation",
+  name: 'AppNavigation',
   components: {
     Analytics16,
     DataCheck16,
diff --git a/src/components/Global/StatusIcon.vue b/src/components/Global/StatusIcon.vue
index bb20840..63155c9 100644
--- a/src/components/Global/StatusIcon.vue
+++ b/src/components/Global/StatusIcon.vue
@@ -7,13 +7,13 @@
 </template>
 
 <script>
-import IconCheckmark from "@carbon/icons-vue/es/checkmark--filled/20";
-import IconWarning from "@carbon/icons-vue/es/warning--filled/20";
-import IconError from "@carbon/icons-vue/es/error--filled/20";
+import IconCheckmark from '@carbon/icons-vue/es/checkmark--filled/20';
+import IconWarning from '@carbon/icons-vue/es/warning--filled/20';
+import IconError from '@carbon/icons-vue/es/error--filled/20';
 
 export default {
-  name: "StatusIcon",
-  props: ["status"],
+  name: 'StatusIcon',
+  props: ['status'],
   components: {
     iconSuccess: IconCheckmark,
     iconDanger: IconWarning,
diff --git a/src/layouts/AppLayout.vue b/src/layouts/AppLayout.vue
index 49d61c1..e5a5501 100644
--- a/src/layouts/AppLayout.vue
+++ b/src/layouts/AppLayout.vue
@@ -17,11 +17,11 @@
 </template>
 
 <script>
-import AppHeader from "@/components/AppHeader";
-import AppNavigation from "@/components/AppNavigation";
-import PageContainer from "../components/Global/PageContainer";
+import AppHeader from '@/components/AppHeader';
+import AppNavigation from '@/components/AppNavigation';
+import PageContainer from '../components/Global/PageContainer';
 export default {
-  name: "App",
+  name: 'App',
   components: {
     AppHeader,
     AppNavigation,
@@ -35,14 +35,14 @@
         let focusTarget = this.$refs.focusTarget.$el;
 
         // Make focustarget programmatically focussable
-        focusTarget.setAttribute("tabindex", "-1");
+        focusTarget.setAttribute('tabindex', '-1');
 
         // Focus element
         focusTarget.focus();
 
         // Remove tabindex from focustarget
         // Reason: https://axesslab.com/skip-links/#update-3-a-comment-from-gov-uk
-        focusTarget.removeAttribute("tabindex");
+        focusTarget.removeAttribute('tabindex');
       });
     }
   }
diff --git a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue
index 6a8300b..bc2200e 100644
--- a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue
+++ b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue
@@ -59,18 +59,18 @@
 </template>
 
 <script>
-import IconTrashcan from "@carbon/icons-vue/es/trash-can/20";
-import IconEdit from "@carbon/icons-vue/es/edit/20";
-import IconAdd from "@carbon/icons-vue/es/add--alt/20";
-import IconSettings from "@carbon/icons-vue/es/settings/20";
+import IconTrashcan from '@carbon/icons-vue/es/trash-can/20';
+import IconEdit from '@carbon/icons-vue/es/edit/20';
+import IconAdd from '@carbon/icons-vue/es/add--alt/20';
+import IconSettings from '@carbon/icons-vue/es/settings/20';
 
-import TableRoles from "./TableRoles";
-import ModalUser from "./ModalUser";
-import ModalSettings from "./ModalSettings";
-import PageTitle from "../../../components/Global/PageTitle";
+import TableRoles from './TableRoles';
+import ModalUser from './ModalUser';
+import ModalSettings from './ModalSettings';
+import PageTitle from '../../../components/Global/PageTitle';
 
 export default {
-  name: "local-users",
+  name: 'local-users',
   components: {
     IconAdd,
     IconEdit,
@@ -92,7 +92,7 @@
   },
   computed: {
     allUsers() {
-      return this.$store.getters["localUsers/allUsers"];
+      return this.$store.getters['localUsers/allUsers'];
     },
     tableItems() {
       // transform user data to table data
@@ -101,13 +101,13 @@
           username: user.UserName,
           privilege: user.RoleId,
           status: user.Locked
-            ? "Locked"
+            ? 'Locked'
             : user.Enabled
-            ? "Enabled"
-            : "Disabled",
+            ? 'Enabled'
+            : 'Disabled',
           actions: {
             edit: true,
-            delete: user.UserName === "root" ? false : true
+            delete: user.UserName === 'root' ? false : true
           }
         };
       });
@@ -115,19 +115,19 @@
   },
   methods: {
     getUsers() {
-      this.$store.dispatch("localUsers/getUsers");
+      this.$store.dispatch('localUsers/getUsers');
     },
     initModalUser(user) {
       this.activeUser = user;
-      this.$bvModal.show("modal-user");
+      this.$bvModal.show('modal-user');
     },
     initModalDelete(user) {
       this.$bvModal
         .msgBoxConfirm(
           `Are you sure you want to delete user '${user.username}'? This action cannot be undone.`,
           {
-            title: "Delete user",
-            okTitle: "Delete user"
+            title: 'Delete user',
+            okTitle: 'Delete user'
           }
         )
         .then(deleteConfirmed => {
@@ -138,20 +138,20 @@
     },
     initModalSettings() {
       if (this.settings) {
-        this.$bvModal.show("modal-settings");
+        this.$bvModal.show('modal-settings');
       } else {
         // fetch settings then show modal
       }
     },
     saveUser({ newUser, form }) {
       if (newUser) {
-        this.$store.dispatch("localUsers/createUser", form);
+        this.$store.dispatch('localUsers/createUser', form);
       } else {
-        this.$store.dispatch("localUsers/updateUser", form);
+        this.$store.dispatch('localUsers/updateUser', form);
       }
     },
     deleteUser({ username }) {
-      this.$store.dispatch("localUsers/deleteUser", username);
+      this.$store.dispatch('localUsers/deleteUser', username);
     },
     clearActiveUser() {
       this.activeUser = null;
diff --git a/src/views/AccessControl/LocalUserManagement/ModalSettings.vue b/src/views/AccessControl/LocalUserManagement/ModalSettings.vue
index 3d985ac..dae4d90 100644
--- a/src/views/AccessControl/LocalUserManagement/ModalSettings.vue
+++ b/src/views/AccessControl/LocalUserManagement/ModalSettings.vue
@@ -4,6 +4,6 @@
 
 <script>
 export default {
-  props: ["settings"]
+  props: ['settings']
 };
 </script>
diff --git a/src/views/AccessControl/LocalUserManagement/ModalUser.vue b/src/views/AccessControl/LocalUserManagement/ModalUser.vue
index 70cd614..73aa164 100644
--- a/src/views/AccessControl/LocalUserManagement/ModalUser.vue
+++ b/src/views/AccessControl/LocalUserManagement/ModalUser.vue
@@ -47,10 +47,10 @@
 
 <script>
 export default {
-  props: ["user"],
+  props: ['user'],
   data() {
     return {
-      privilegeTypes: ["Administrator", "Operator", "ReadOnly", "NoAccess"]
+      privilegeTypes: ['Administrator', 'Operator', 'ReadOnly', 'NoAccess']
     };
   },
   computed: {
@@ -62,12 +62,12 @@
         originalUsername: this.newUser ? null : this.user.username,
         status: this.newUser
           ? true
-          : this.user.status === "Enabled"
+          : this.user.status === 'Enabled'
           ? true
           : false,
-        username: this.newUser ? "" : this.user.username,
-        privilege: this.newUser ? "" : this.user.privilege,
-        password: ""
+        username: this.newUser ? '' : this.user.username,
+        privilege: this.newUser ? '' : this.user.privilege,
+        password: ''
       };
     }
   }
diff --git a/src/views/AccessControl/LocalUserManagement/TableRoles.vue b/src/views/AccessControl/LocalUserManagement/TableRoles.vue
index 7aa1dc8..b401966 100644
--- a/src/views/AccessControl/LocalUserManagement/TableRoles.vue
+++ b/src/views/AccessControl/LocalUserManagement/TableRoles.vue
@@ -24,7 +24,7 @@
 </template>
 
 <script>
-import Checkmark20 from "@carbon/icons-vue/es/checkmark/20";
+import Checkmark20 from '@carbon/icons-vue/es/checkmark/20';
 
 export default {
   components: {
@@ -34,63 +34,63 @@
     return {
       items: [
         {
-          description: "Configure components managed by this service",
+          description: 'Configure components managed by this service',
           administrator: true,
           operator: false,
           readonly: false,
           noaccess: false
         },
         {
-          description: "Configure manager resources",
+          description: 'Configure manager resources',
           administrator: true,
           operator: false,
           readonly: false,
           noaccess: false
         },
         {
-          description: "Update password for current user account",
+          description: 'Update password for current user account',
           administrator: true,
           operator: false, // TODO Set to true when profile page added
           readonly: false, // TODO Set to true when profile page added
           noaccess: false
         },
         {
-          description: "Configure users and their accounts",
+          description: 'Configure users and their accounts',
           administrator: true,
           operator: false,
           readonly: false,
           noaccess: false
         },
         {
-          description: "Log in to the service and read resources",
+          description: 'Log in to the service and read resources',
           administrator: true,
           operator: true,
           readonly: true,
           noaccess: false
         },
         {
-          description: "IPMI access point",
+          description: 'IPMI access point',
           administrator: true,
           operator: true,
           readonly: true,
           noaccess: false
         },
         {
-          description: "Redfish access point",
+          description: 'Redfish access point',
           administrator: true,
           operator: true,
           readonly: true,
           noaccess: false
         },
         {
-          description: "SSH access point",
+          description: 'SSH access point',
           administrator: true,
           operator: false,
           readonly: false,
           noaccess: false
         },
         {
-          description: "WebUI access point",
+          description: 'WebUI access point',
           administrator: true,
           operator: true,
           readonly: true,
@@ -98,11 +98,11 @@
         }
       ],
       fields: [
-        { key: "description", label: "" },
-        { key: "administrator", label: "Administrator", class: "text-center" },
-        { key: "operator", label: "Operator", class: "text-center" },
-        { key: "readonly", label: "ReadOnly", class: "text-center" },
-        { key: "noaccess", label: "NoAccess", class: "text-center" }
+        { key: 'description', label: '' },
+        { key: 'administrator', label: 'Administrator', class: 'text-center' },
+        { key: 'operator', label: 'Operator', class: 'text-center' },
+        { key: 'readonly', label: 'ReadOnly', class: 'text-center' },
+        { key: 'noaccess', label: 'NoAccess', class: 'text-center' }
       ]
     };
   }
diff --git a/src/views/Login/Login.vue b/src/views/Login/Login.vue
index 7914ea6..b6adf9e 100644
--- a/src/views/Login/Login.vue
+++ b/src/views/Login/Login.vue
@@ -47,11 +47,11 @@
 
 <script>
 export default {
-  name: "Login",
+  name: 'Login',
   data() {
     return {
-      username: "",
-      password: ""
+      username: '',
+      password: ''
     };
   },
   methods: {
@@ -59,8 +59,8 @@
       const username = this.username;
       const password = this.password;
       this.$store
-        .dispatch("authentication/login", [username, password])
-        .then(() => this.$router.push("/"))
+        .dispatch('authentication/login', [username, password])
+        .then(() => this.$router.push('/'))
         .catch(error => console.log(error));
     }
   }
@@ -68,9 +68,9 @@
 </script>
 
 <style lang="scss" scoped>
-@import "~bootstrap/scss/functions";
-@import "~bootstrap/scss/variables";
-@import "~bootstrap/scss/mixins";
+@import '~bootstrap/scss/functions';
+@import '~bootstrap/scss/variables';
+@import '~bootstrap/scss/mixins';
 
 .login-container {
   @include media-breakpoint-up(md) {
diff --git a/src/views/Overview/Overview.vue b/src/views/Overview/Overview.vue
index 570f849..2672af7 100644
--- a/src/views/Overview/Overview.vue
+++ b/src/views/Overview/Overview.vue
@@ -87,13 +87,13 @@
 </template>
 
 <script>
-import OverviewQuickLinks from "./OverviewQuickLinks";
-import OverviewEvents from "./OverviewEvents";
-import PageTitle from "../../components/Global/PageTitle";
-import PageSection from "../../components/Global/PageSection";
-import { mapState } from "vuex";
+import OverviewQuickLinks from './OverviewQuickLinks';
+import OverviewEvents from './OverviewEvents';
+import PageTitle from '../../components/Global/PageTitle';
+import PageSection from '../../components/Global/PageSection';
+import { mapState } from 'vuex';
 export default {
-  name: "Overview",
+  name: 'Overview',
   components: {
     OverviewQuickLinks,
     OverviewEvents,
@@ -117,12 +117,12 @@
   }),
   methods: {
     getOverviewInfo() {
-      this.$store.dispatch("overview/getServerInfo");
-      this.$store.dispatch("global/getHostName");
-      this.$store.dispatch("firmware/getFirmwareInfo");
-      this.$store.dispatch("powerConsumption/getPowerData");
-      this.$store.dispatch("powerCap/getPowerCapData");
-      this.$store.dispatch("networkSettings/getNetworkData");
+      this.$store.dispatch('overview/getServerInfo');
+      this.$store.dispatch('global/getHostName');
+      this.$store.dispatch('firmware/getFirmwareInfo');
+      this.$store.dispatch('powerConsumption/getPowerData');
+      this.$store.dispatch('powerCap/getPowerCapData');
+      this.$store.dispatch('networkSettings/getNetworkData');
     }
   }
 };
diff --git a/src/views/Overview/OverviewEvents.vue b/src/views/Overview/OverviewEvents.vue
index 0510606..07aab1d 100644
--- a/src/views/Overview/OverviewEvents.vue
+++ b/src/views/Overview/OverviewEvents.vue
@@ -2,11 +2,11 @@
   <div>
     <b-list-group v-for="logData in eventLogData" :key="logData.id">
       <b-list-group-item href="#" class="flex-column align-items-start">
-        {{ "#" + logData.logId }}
+        {{ '#' + logData.logId }}
         <b-badge variant="danger">{{ logData.priority }}</b-badge>
         <div class="d-flex w-100 justify-content-between">
           <small>{{
-            logData.Timestamp | date("MMM DD YYYY HH:MM:SS A ZZ")
+            logData.Timestamp | date('MMM DD YYYY HH:MM:SS A ZZ')
           }}</small>
           <ChevronRight16 />
         </div>
@@ -20,9 +20,9 @@
 </template>
 
 <script>
-import ChevronRight16 from "@carbon/icons-vue/es/chevron--right/16";
+import ChevronRight16 from '@carbon/icons-vue/es/chevron--right/16';
 export default {
-  name: "events",
+  name: 'events',
   components: {
     ChevronRight16
   },
@@ -31,12 +31,12 @@
   },
   computed: {
     eventLogData() {
-      return this.$store.getters["eventLog/eventLogData"];
+      return this.$store.getters['eventLog/eventLogData'];
     }
   },
   methods: {
     getEventLogData() {
-      this.$store.dispatch("eventLog/getEventLogData");
+      this.$store.dispatch('eventLog/getEventLogData');
     }
   }
 };
diff --git a/src/views/Overview/OverviewQuickLinks.vue b/src/views/Overview/OverviewQuickLinks.vue
index 577ea5f..726eaf7 100644
--- a/src/views/Overview/OverviewQuickLinks.vue
+++ b/src/views/Overview/OverviewQuickLinks.vue
@@ -4,7 +4,7 @@
     <b-list-group-item>
       <dl>
         <dt>BMC time</dt>
-        <dd>{{ bmcTime | date("MMM, DD YYYY HH:MM:SS A ZZ") }}</dd>
+        <dd>{{ bmcTime | date('MMM, DD YYYY HH:MM:SS A ZZ') }}</dd>
       </dl>
     </b-list-group-item>
     <b-list-group-item>
@@ -35,9 +35,9 @@
 </template>
 
 <script>
-import ChevronRight16 from "@carbon/icons-vue/es/chevron--right/16";
+import ChevronRight16 from '@carbon/icons-vue/es/chevron--right/16';
 export default {
-  name: "quickLinks",
+  name: 'quickLinks',
   components: {
     ChevronRight16
   },
@@ -46,12 +46,12 @@
   },
   computed: {
     bmcTime() {
-      return this.$store.getters["global/bmcTime"];
+      return this.$store.getters['global/bmcTime'];
     }
   },
   methods: {
     getBmcTime() {
-      this.$store.dispatch("global/getBmcTime");
+      this.$store.dispatch('global/getBmcTime');
     }
   },
   data() {
