diff --git a/src/components/AppHeader/AppHeader.vue b/src/components/AppHeader/AppHeader.vue
index b2d29c9..5c2c333 100644
--- a/src/components/AppHeader/AppHeader.vue
+++ b/src/components/AppHeader/AppHeader.vue
@@ -42,6 +42,9 @@
 export default {
   name: 'AppHeader',
   components: { IconAvatar, IconRenew, StatusIcon },
+  created() {
+    this.getHostInfo();
+  },
   computed: {
     hostStatus() {
       return this.$store.getters['global/hostStatus'];
@@ -58,9 +61,6 @@
       }
     }
   },
-  created() {
-    this.getHostInfo();
-  },
   methods: {
     getHostInfo() {
       this.$store.dispatch('global/getHostStatus');
diff --git a/src/components/AppNavigation/AppNavigation.vue b/src/components/AppNavigation/AppNavigation.vue
index 47609d9..c246b53 100644
--- a/src/components/AppNavigation/AppNavigation.vue
+++ b/src/components/AppNavigation/AppNavigation.vue
@@ -7,7 +7,7 @@
         <icon-health />Health
         <icon-expand class="icon-expand" />
       </b-button>
-      <b-collapse id="health-menu" tag="ul" class="nav-item__nav">
+      <b-collapse tag="ul" id="health-menu" class="nav-item__nav">
         <b-nav-item href="javascript:void(0)">Event Log</b-nav-item>
         <b-nav-item href="javascript:void(0)">Hardware Status</b-nav-item>
         <b-nav-item href="javascript:void(0)">Sensors</b-nav-item>
@@ -19,7 +19,7 @@
         <icon-control />Control
         <icon-expand class="icon-expand" />
       </b-button>
-      <b-collapse id="control-menu" tag="ul" class="nav-item__nav">
+      <b-collapse tag="ul" id="control-menu" class="nav-item__nav">
         <b-nav-item href="javascript:void(0)">
           Server power operations
         </b-nav-item>
@@ -33,7 +33,7 @@
         <icon-configuration />Configuration
         <icon-expand class="icon-expand" />
       </b-button>
-      <b-collapse id="configuration-menu" tag="ul" class="nav-item__nav">
+      <b-collapse tag="ul" id="configuration-menu" class="nav-item__nav">
         <b-nav-item href="javascript:void(0)">Network settings</b-nav-item>
         <b-nav-item href="javascript:void(0)">SNMP settings</b-nav-item>
         <b-nav-item href="javascript:void(0)">Firmware</b-nav-item>
@@ -45,7 +45,7 @@
         <icon-access-control />Access Control
         <icon-expand class="icon-expand" />
       </b-button>
-      <b-collapse id="access-control-menu" tag="ul" class="nav-item__nav">
+      <b-collapse tag="ul" id="access-control-menu" class="nav-item__nav">
         <b-nav-item href="javascript:void(0)">LDAP</b-nav-item>
         <b-nav-item to="/access-control/local-user-management">
           Local user management
diff --git a/src/components/Global/PageSection.vue b/src/components/Global/PageSection.vue
index 03040b2..678fd31 100644
--- a/src/components/Global/PageSection.vue
+++ b/src/components/Global/PageSection.vue
@@ -8,12 +8,7 @@
 <script>
 export default {
   name: 'PageSection',
-  props: {
-    sectionTitle: {
-      type: String,
-      required: true
-    }
-  }
+  props: ['sectionTitle']
 };
 </script>
 
diff --git a/src/components/Global/PageTitle.vue b/src/components/Global/PageTitle.vue
index 26588ca..0231424 100644
--- a/src/components/Global/PageTitle.vue
+++ b/src/components/Global/PageTitle.vue
@@ -8,12 +8,7 @@
 <script>
 export default {
   name: 'PageTitle',
-  props: {
-    description: {
-      type: String,
-      default: ''
-    }
-  },
+  props: ['description'],
   data() {
     return {
       title: this.$route.meta.title
diff --git a/src/components/Global/StatusIcon.vue b/src/components/Global/StatusIcon.vue
index a2c7f04..63155c9 100644
--- a/src/components/Global/StatusIcon.vue
+++ b/src/components/Global/StatusIcon.vue
@@ -13,16 +13,11 @@
 
 export default {
   name: 'StatusIcon',
+  props: ['status'],
   components: {
     iconSuccess: IconCheckmark,
     iconDanger: IconWarning,
     iconSecondary: IconError
-  },
-  props: {
-    status: {
-      type: String,
-      default: ''
-    }
   }
 };
 </script>
diff --git a/src/layouts/AppLayout.vue b/src/layouts/AppLayout.vue
index e1bb410..e5a5501 100644
--- a/src/layouts/AppLayout.vue
+++ b/src/layouts/AppLayout.vue
@@ -1,15 +1,15 @@
 <template>
   <div>
-    <app-header ref="focusTarget" />
+    <AppHeader ref="focusTarget" />
     <b-container fluid class="page-container">
       <b-row no-gutters>
         <b-col tag="nav" cols="12" md="3" lg="2">
-          <app-navigation />
+          <AppNavigation />
         </b-col>
         <b-col cols="12" md="9" lg="10">
-          <page-container>
+          <PageContainer>
             <router-view ref="routerView" />
-          </page-container>
+          </PageContainer>
         </b-col>
       </b-row>
     </b-container>
diff --git a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue
index b016dcc..6ca43f3 100644
--- a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue
+++ b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue
@@ -1,13 +1,13 @@
 <template>
   <b-container class="ml-0">
-    <page-title />
+    <PageTitle />
     <b-row>
       <b-col lg="10">
-        <b-button variant="link" @click="initModalSettings">
+        <b-button @click="initModalSettings" variant="link">
           Account policy settings
           <icon-settings />
         </b-button>
-        <b-button variant="primary" @click="initModalUser(null)">
+        <b-button @click="initModalUser(null)" variant="primary">
           Add user
           <icon-add />
         </b-button>
@@ -49,9 +49,9 @@
       </b-col>
     </b-row>
     <!-- Modals -->
-    <modal-settings :settings="settings"></modal-settings>
+    <modal-settings v-bind:settings="settings"></modal-settings>
     <modal-user
-      :user="activeUser"
+      v-bind:user="activeUser"
       @ok="saveUser"
       @hidden="clearActiveUser"
     ></modal-user>
@@ -70,7 +70,7 @@
 import PageTitle from '../../../components/Global/PageTitle';
 
 export default {
-  name: 'LocalUsers',
+  name: 'local-users',
   components: {
     IconAdd,
     IconEdit,
@@ -87,6 +87,9 @@
       settings: null
     };
   },
+  created() {
+    this.getUsers();
+  },
   computed: {
     allUsers() {
       return this.$store.getters['localUsers/allUsers'];
@@ -110,9 +113,6 @@
       });
     }
   },
-  created() {
-    this.getUsers();
-  },
   methods: {
     getUsers() {
       this.$store.dispatch('localUsers/getUsers');
diff --git a/src/views/AccessControl/LocalUserManagement/ModalSettings.vue b/src/views/AccessControl/LocalUserManagement/ModalSettings.vue
index a0d6294..dae4d90 100644
--- a/src/views/AccessControl/LocalUserManagement/ModalSettings.vue
+++ b/src/views/AccessControl/LocalUserManagement/ModalSettings.vue
@@ -4,11 +4,6 @@
 
 <script>
 export default {
-  props: {
-    settings: {
-      type: String,
-      default: ''
-    }
-  }
+  props: ['settings']
 };
 </script>
diff --git a/src/views/AccessControl/LocalUserManagement/ModalUser.vue b/src/views/AccessControl/LocalUserManagement/ModalUser.vue
index d84fb6d..73aa164 100644
--- a/src/views/AccessControl/LocalUserManagement/ModalUser.vue
+++ b/src/views/AccessControl/LocalUserManagement/ModalUser.vue
@@ -22,7 +22,7 @@
         >
       </b-form-group>
       <b-form-group label="Username">
-        <b-form-input v-model="form.username" type="text" />
+        <b-form-input type="text" v-model="form.username" />
       </b-form-group>
       <b-form-group label="Privilege">
         <b-form-select
@@ -31,7 +31,7 @@
         ></b-form-select>
       </b-form-group>
       <b-form-group label="Password">
-        <b-form-input v-model="form.password" type="password" />
+        <b-form-input type="password" v-model="form.password" />
       </b-form-group>
     </b-form>
     <template v-slot:modal-ok>
@@ -47,12 +47,7 @@
 
 <script>
 export default {
-  props: {
-    user: {
-      type: Object,
-      default: null
-    }
-  },
+  props: ['user'],
   data() {
     return {
       privilegeTypes: ['Administrator', 'Operator', 'ReadOnly', 'NoAccess']
diff --git a/src/views/AccessControl/LocalUserManagement/TableRoles.vue b/src/views/AccessControl/LocalUserManagement/TableRoles.vue
index ad313be..b401966 100644
--- a/src/views/AccessControl/LocalUserManagement/TableRoles.vue
+++ b/src/views/AccessControl/LocalUserManagement/TableRoles.vue
@@ -2,22 +2,22 @@
   <b-table bordered small head-variant="dark" :items="items" :fields="fields">
     <template v-slot:cell(administrator)="data">
       <template v-if="data.value">
-        <checkmark20 />
+        <Checkmark20 />
       </template>
     </template>
     <template v-slot:cell(operator)="data">
       <template v-if="data.value">
-        <checkmark20 />
+        <Checkmark20 />
       </template>
     </template>
     <template v-slot:cell(readonly)="data">
       <template v-if="data.value">
-        <checkmark20 />
+        <Checkmark20 />
       </template>
     </template>
     <template v-slot:cell(noaccess)="data">
       <template v-if="data.value">
-        <checkmark20 />
+        <Checkmark20 />
       </template>
     </template>
   </b-table>
diff --git a/src/views/Login/Login.vue b/src/views/Login/Login.vue
index ea1eac6..706d3ec 100644
--- a/src/views/Login/Login.vue
+++ b/src/views/Login/Login.vue
@@ -15,10 +15,10 @@
         </b-col>
 
         <b-col md="6">
-          <b-form class="login-form" novalidate @submit.prevent="login">
+          <b-form class="login-form" @submit.prevent="login" novalidate>
             <b-alert
-              v-if="authStatus == 'error'"
               class="login-error"
+              v-if="authStatus == 'error'"
               show
               variant="danger"
             >
@@ -72,6 +72,11 @@
 <script>
 export default {
   name: 'Login',
+  computed: {
+    authStatus() {
+      return this.$store.getters['authentication/authStatus'];
+    }
+  },
   data() {
     return {
       errorMsg: {
@@ -85,11 +90,6 @@
       disableSubmitButton: false
     };
   },
-  computed: {
-    authStatus() {
-      return this.$store.getters['authentication/authStatus'];
-    }
-  },
   methods: {
     resetState: function() {
       this.errorMsg.title = null;
diff --git a/src/views/Overview/Overview.vue b/src/views/Overview/Overview.vue
index 1c4ba55..4412d19 100644
--- a/src/views/Overview/Overview.vue
+++ b/src/views/Overview/Overview.vue
@@ -1,12 +1,12 @@
 <template>
   <b-container fluid>
-    <page-title />
+    <PageTitle />
     <div class="quicklinks-section">
-      <overview-quick-links />
+      <OverviewQuickLinks />
     </div>
     <b-row>
       <b-col>
-        <page-section section-title="Server Information">
+        <PageSection sectionTitle="Server Information">
           <b-row>
             <b-col sm="6">
               <dl>
@@ -33,8 +33,8 @@
               </dl>
             </b-col>
           </b-row>
-        </page-section>
-        <page-section section-title="BMC information">
+        </PageSection>
+        <PageSection sectionTitle="BMC information">
           <b-row>
             <b-col sm="6">
               <dl>
@@ -51,7 +51,7 @@
             <b-col sm="6">
               <dl>
                 <dt>IP address</dt>
-                <dd v-for="ip in ipAddress" :key="ip.id">{{ ip }}</dd>
+                <dd v-for="ip in ipAddress" v-bind:key="ip.id">{{ ip }}</dd>
               </dl>
             </b-col>
             <b-col sm="6">
@@ -61,8 +61,8 @@
               </dl>
             </b-col>
           </b-row>
-        </page-section>
-        <page-section section-title="Power consumption">
+        </PageSection>
+        <PageSection sectionTitle="Power consumption">
           <b-row>
             <b-col sm="6">
               <dl>
@@ -77,12 +77,12 @@
               </dl>
             </b-col>
           </b-row>
-        </page-section>
+        </PageSection>
       </b-col>
     </b-row>
-    <page-section section-title="High priority events">
-      <overview-events />
-    </page-section>
+    <PageSection sectionTitle="High priority events">
+      <OverviewEvents />
+    </PageSection>
   </b-container>
 </template>
 
@@ -100,6 +100,9 @@
     PageTitle,
     PageSection
   },
+  created() {
+    this.getOverviewInfo();
+  },
   computed: mapState({
     serverModel: state => state.overview.serverModel,
     serverManufacturer: state => state.overview.serverManufacturer,
@@ -112,9 +115,6 @@
     ipAddress: state => state.networkSettings.ipAddress,
     macAddress: state => state.networkSettings.macAddress
   }),
-  created() {
-    this.getOverviewInfo();
-  },
   methods: {
     getOverviewInfo() {
       this.$store.dispatch('overview/getServerInfo');
diff --git a/src/views/Overview/OverviewEvents.vue b/src/views/Overview/OverviewEvents.vue
index 5820e61..07aab1d 100644
--- a/src/views/Overview/OverviewEvents.vue
+++ b/src/views/Overview/OverviewEvents.vue
@@ -8,7 +8,7 @@
           <small>{{
             logData.Timestamp | date('MMM DD YYYY HH:MM:SS A ZZ')
           }}</small>
-          <chevron-right16 />
+          <ChevronRight16 />
         </div>
         <p class="mb-1">{{ logData.eventID }}: {{ logData.description }}</p>
       </b-list-group-item>
@@ -22,18 +22,18 @@
 <script>
 import ChevronRight16 from '@carbon/icons-vue/es/chevron--right/16';
 export default {
-  name: 'Events',
+  name: 'events',
   components: {
     ChevronRight16
   },
+  created() {
+    this.getEventLogData();
+  },
   computed: {
     eventLogData() {
       return this.$store.getters['eventLog/eventLogData'];
     }
   },
-  created() {
-    this.getEventLogData();
-  },
   methods: {
     getEventLogData() {
       this.$store.dispatch('eventLog/getEventLogData');
diff --git a/src/views/Overview/OverviewQuickLinks.vue b/src/views/Overview/OverviewQuickLinks.vue
index f36c264..e8ed4dd 100644
--- a/src/views/Overview/OverviewQuickLinks.vue
+++ b/src/views/Overview/OverviewQuickLinks.vue
@@ -31,7 +31,7 @@
         class="d-flex justify-content-between align-items-center"
       >
         <span>Edit network settings</span>
-        <icon-arrow-right />
+        <IconArrowRight />
       </b-button>
     </div>
     <div>
@@ -42,7 +42,7 @@
         class="d-flex justify-content-between align-items-center"
       >
         <span>Serial over LAN console</span>
-        <icon-arrow-right />
+        <IconArrowRight />
       </b-button>
     </div>
   </div>
@@ -52,27 +52,27 @@
 import ArrowRight16 from '@carbon/icons-vue/es/arrow--right/16';
 
 export default {
-  name: 'QuickLinks',
+  name: 'quickLinks',
   components: {
     IconArrowRight: ArrowRight16
   },
-  data() {
-    return {
-      serverLEDChecked: false
-    };
+  created() {
+    this.getBmcTime();
   },
   computed: {
     bmcTime() {
       return this.$store.getters['global/bmcTime'];
     }
   },
-  created() {
-    this.getBmcTime();
-  },
   methods: {
     getBmcTime() {
       this.$store.dispatch('global/getBmcTime');
     }
+  },
+  data() {
+    return {
+      serverLedChecked: false
+    };
   }
 };
 </script>
diff --git a/src/views/Unauthorized/Unauthorized.vue b/src/views/Unauthorized/Unauthorized.vue
index d420359..446270d 100644
--- a/src/views/Unauthorized/Unauthorized.vue
+++ b/src/views/Unauthorized/Unauthorized.vue
@@ -1,6 +1,6 @@
 <template>
   <div>
-    <page-title :description="description" />
+    <PageTitle :description="description" />
   </div>
 </template>
 <script>
