+ Do not be scared of the truth because we need to restart the human
+ foundation in truth And I love you like Kanye loves Kanye I love Rick
+ Owens’ bed design but the back is...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/APP/components/index.js b/APP/components/index.js
new file mode 100755
index 0000000..84460d1
--- /dev/null
+++ b/APP/components/index.js
@@ -0,0 +1,51 @@
+import BaseCheckbox from './Inputs/BaseCheckbox.vue';
+import BaseAlert from './BaseAlert.vue';
+import IconCheckbox from './Inputs/IconCheckbox.vue';
+import BaseRadio from './Inputs/BaseRadio.vue';
+import BaseInput from './Inputs/BaseInput.vue';
+import BaseSwitch from './BaseSwitch.vue';
+import Badge from './Badge';
+import BaseProgress from './BaseProgress.vue';
+import BaseButton from './BaseButton.vue';
+
+import BaseDropdown from './BaseDropdown.vue';
+import BaseTable from './BaseTable.vue';
+
+import Card from './Cards/Card.vue';
+import BaseNav from './Navbar/BaseNav';
+import NavbarToggleButton from './Navbar/NavbarToggleButton';
+
+import Breadcrumb from './Breadcrumb/Breadcrumb.vue';
+import BreadcrumbItem from './Breadcrumb/BreadcrumbItem.vue';
+import RouteBreadCrumb from './Breadcrumb/RouteBreadcrumb.vue';
+import Modal from './Modal.vue';
+import LoadingPanel from './LoadingPanel.vue';
+
+import BasePagination from './BasePagination.vue';
+
+import SidebarPlugin from './SidebarPlugin';
+
+
+export {
+ BaseCheckbox,
+ IconCheckbox,
+ BaseSwitch,
+ Badge,
+ BaseAlert,
+ BaseProgress,
+ BasePagination,
+ BaseRadio,
+ BaseInput,
+ Card,
+ BaseTable,
+ BaseDropdown,
+ SidebarPlugin,
+ BaseNav,
+ NavbarToggleButton,
+ Breadcrumb,
+ BreadcrumbItem,
+ RouteBreadCrumb,
+ Modal,
+ BaseButton,
+ LoadingPanel
+};
diff --git a/APP/config.js b/APP/config.js
new file mode 100644
index 0000000..afb9dde
--- /dev/null
+++ b/APP/config.js
@@ -0,0 +1,18 @@
+export default {
+ colors: {
+ default: '#344675',
+ primary: '#42b883',
+ info: '#1d8cf8',
+ danger: '#fd5d93',
+ orange: '#ff8a76',
+ teal: '#00d6b4',
+ primaryGradient: [
+ 'rgba(76, 211, 150, 0.1)',
+ 'rgba(53, 183, 125, 0)',
+ 'rgba(119,52,169,0)'
+ ],
+ purpleGradient: ['rgba(253,93,147,0.8)', 'rgba(253,93,147,0)']
+ },
+ MAPS_API_KEY: 'YOUR_GOOGLE_MAPS_API_KEY'
+ };
+
\ No newline at end of file
diff --git a/APP/layouts/README.md b/APP/layouts/README.md
new file mode 100644
index 0000000..cad1ad5
--- /dev/null
+++ b/APP/layouts/README.md
@@ -0,0 +1,7 @@
+# LAYOUTS
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your Application Layouts.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).
diff --git a/APP/layouts/default.vue b/APP/layouts/default.vue
new file mode 100644
index 0000000..6f505e3
--- /dev/null
+++ b/APP/layouts/default.vue
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/APP/layouts/starter.vue b/APP/layouts/starter.vue
new file mode 100644
index 0000000..b62ec05
--- /dev/null
+++ b/APP/layouts/starter.vue
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
diff --git a/APP/pages/README.md b/APP/pages/README.md
new file mode 100644
index 0000000..1d5d48b
--- /dev/null
+++ b/APP/pages/README.md
@@ -0,0 +1,6 @@
+# PAGES
+
+This directory contains your Application Views and Routes.
+The framework reads all the `*.vue` files inside this directory and creates the router of your application.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).
diff --git a/APP/pages/compras.vue b/APP/pages/compras.vue
new file mode 100644
index 0000000..2b9a3c0
--- /dev/null
+++ b/APP/pages/compras.vue
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Guardar
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/APP/pages/ingresos.vue b/APP/pages/ingresos.vue
new file mode 100644
index 0000000..b3dedee
--- /dev/null
+++ b/APP/pages/ingresos.vue
@@ -0,0 +1,7 @@
+
+
+
+ Ingresos
+
+
+
\ No newline at end of file
diff --git a/APP/pages/presupuesto.vue b/APP/pages/presupuesto.vue
new file mode 100644
index 0000000..104642d
--- /dev/null
+++ b/APP/pages/presupuesto.vue
@@ -0,0 +1,13 @@
+
+
Presupuesto
+
+
+
+
+
\ No newline at end of file
diff --git a/APP/pages/resumen.vue b/APP/pages/resumen.vue
new file mode 100644
index 0000000..baff93e
--- /dev/null
+++ b/APP/pages/resumen.vue
@@ -0,0 +1,13 @@
+
+
Resumen
+
+
+
+
+
\ No newline at end of file
diff --git a/APP/plugins/README.md b/APP/plugins/README.md
new file mode 100644
index 0000000..ca1f9d8
--- /dev/null
+++ b/APP/plugins/README.md
@@ -0,0 +1,7 @@
+# PLUGINS
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains Javascript plugins that you want to run before mounting the root Vue.js application.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).
diff --git a/APP/plugins/RTLPlugin.js b/APP/plugins/RTLPlugin.js
new file mode 100644
index 0000000..ecbd7eb
--- /dev/null
+++ b/APP/plugins/RTLPlugin.js
@@ -0,0 +1,40 @@
+export default {
+ install(Vue) {
+ let app = new Vue({
+ data() {
+ return {
+ isRTL: false
+ };
+ },
+ methods: {
+ getDocClasses() {
+ return document.body.classList;
+ },
+ enableRTL() {
+ import('@/assets/sass/vendor/bootstrap-rtl.scss')
+ this.isRTL = true;
+ this.getDocClasses().add('rtl');
+ this.getDocClasses().add('menu-on-right');
+ this.toggleBootstrapRTL(true);
+ },
+ disableRTL() {
+ this.isRTL = false;
+ this.getDocClasses().remove('rtl');
+ this.getDocClasses().remove('menu-on-right');
+ this.toggleBootstrapRTL(false);
+ },
+ toggleBootstrapRTL(value) {
+ for (let i = 0; i < document.styleSheets.length; i++) {
+ let styleSheet = document.styleSheets[i];
+ let { href } = styleSheet;
+ if (href && href.endsWith('bootstrap-rtl.css')) {
+ styleSheet.disabled = !value;
+ }
+ }
+ }
+ }
+ });
+
+ Vue.prototype.$rtl = app;
+ }
+};
diff --git a/APP/plugins/dashboard-plugin.js b/APP/plugins/dashboard-plugin.js
new file mode 100755
index 0000000..b90410d
--- /dev/null
+++ b/APP/plugins/dashboard-plugin.js
@@ -0,0 +1,37 @@
+/*!
+
+ =========================================================
+ * Nuxt Black Dashboard - v1.0.0
+ =========================================================
+
+ * Product Page: https://www.creative-tim.com/product/nuxt-black-dashboard-pro
+ * Copyright 2020 Creative Tim (https://www.creative-tim.com)
+
+ * Coded by Creative Tim
+
+ =========================================================
+
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+ */
+// Polyfills for js features used in the Dashboard but not supported in some browsers (mainly IE)
+import Vue from 'vue'
+import './extra/polyfills';
+// Notifications plugin. Used on Notifications page
+import Notifications from '@/components/NotificationPlugin';
+// A plugin file where you could register global components used across the app
+import './globalComponents';
+// A plugin file where you could register global directives
+import './globalDirectives';
+// Sidebar on the right. Used as a local plugin in DashboardLayout.vue
+import SideBar from '@/components/SidebarPlugin';
+// RTL (right to left plugin to support rtl layout). If you don't need support for rtl, remove this plugin
+import RTLPlugin from './RTLPlugin';
+
+// element ui language configuration
+import lang from 'element-ui/lib/locale/lang/en';
+import locale from 'element-ui/lib/locale';
+locale.use(lang);
+
+Vue.use(RTLPlugin);
+Vue.use(SideBar);
+Vue.use(Notifications);
diff --git a/APP/plugins/directives/click-ouside.js b/APP/plugins/directives/click-ouside.js
new file mode 100644
index 0000000..3021e49
--- /dev/null
+++ b/APP/plugins/directives/click-ouside.js
@@ -0,0 +1,15 @@
+export default {
+ bind: function(el, binding, vnode) {
+ el.clickOutsideEvent = function(event) {
+ // here I check that click was outside the el and his childrens
+ if (!(el == event.target || el.contains(event.target))) {
+ // and if it did, call method provided in attribute value
+ vnode.context[binding.expression](event);
+ }
+ };
+ document.body.addEventListener('click', el.clickOutsideEvent);
+ },
+ unbind: function(el) {
+ document.body.removeEventListener('click', el.clickOutsideEvent);
+ }
+};
diff --git a/APP/plugins/extra/polyfills.js b/APP/plugins/extra/polyfills.js
new file mode 100644
index 0000000..a743ee3
--- /dev/null
+++ b/APP/plugins/extra/polyfills.js
@@ -0,0 +1,96 @@
+/* eslint-disable */
+import 'es6-promise/auto'
+
+export default (function initPollyFills () {
+ if (!Array.prototype.find) {
+ Object.defineProperty(Array.prototype, 'find', {
+ value: function (predicate) {
+ // 1. Let O be ? ToObject(this value).
+ if (this == null) {
+ throw new TypeError('"this" is null or not defined');
+ }
+
+ var o = Object(this);
+
+ // 2. Let len be ? ToLength(? Get(O, "length")).
+ var len = o.length >>> 0;
+
+ // 3. If IsCallable(predicate) is false, throw a TypeError exception.
+ if (typeof predicate !== 'function') {
+ throw new TypeError('predicate must be a function');
+ }
+
+ // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.
+ var thisArg = arguments[1];
+
+ // 5. Let k be 0.
+ var k = 0;
+
+ // 6. Repeat, while k < len
+ while (k < len) {
+ // a. Let Pk be ! ToString(k).
+ // b. Let kValue be ? Get(O, Pk).
+ // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).
+ // d. If testResult is true, return kValue.
+ var kValue = o[k];
+ if (predicate.call(thisArg, kValue, k, o)) {
+ return kValue;
+ }
+ // e. Increase k by 1.
+ k++;
+ }
+
+ // 7. Return undefined.
+ return undefined;
+ }
+ });
+ }
+ if (typeof Object.assign !== 'function') {
+ // Must be writable: true, enumerable: false, configurable: true
+ Object.defineProperty(Object, "assign", {
+ value: function assign (target, varArgs) { // .length of function is 2
+ 'use strict';
+ if (target == null) { // TypeError if undefined or null
+ throw new TypeError('Cannot convert undefined or null to object');
+ }
+
+ var to = Object(target);
+
+ for (var index = 1; index < arguments.length; index++) {
+ var nextSource = arguments[index];
+
+ if (nextSource != null) { // Skip over if undefined or null
+ for (var nextKey in nextSource) {
+ // Avoid bugs when hasOwnProperty is shadowed
+ if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
+ to[nextKey] = nextSource[nextKey];
+ }
+ }
+ }
+ }
+ return to;
+ },
+ writable: true,
+ configurable: true
+ });
+ }
+ if (!String.prototype.startsWith) {
+ String.prototype.startsWith = function(search, pos) {
+ return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
+ };
+ }
+ if (!String.prototype.includes) {
+ String.prototype.includes = function(search, start) {
+ 'use strict';
+ if (typeof start !== 'number') {
+ start = 0;
+ }
+
+ if (start + search.length > this.length) {
+ return false;
+ } else {
+ return this.indexOf(search, start) !== -1;
+ }
+ };
+ }
+}())
diff --git a/APP/plugins/globalComponents.js b/APP/plugins/globalComponents.js
new file mode 100755
index 0000000..93b6b56
--- /dev/null
+++ b/APP/plugins/globalComponents.js
@@ -0,0 +1,20 @@
+import Vue from 'vue'
+import BaseInput from '@/components/Inputs/BaseInput.vue';
+import BaseDropdown from '@/components/BaseDropdown.vue';
+import Card from '@/components/Cards/Card.vue';
+import BaseButton from '@/components/BaseButton.vue';
+import BaseCheckbox from '@/components/Inputs/BaseCheckbox.vue';
+import { Input, InputNumber, Tooltip, Popover } from 'element-ui';
+/**
+ * You can register global components here and use them as a plugin in your main Vue instance
+ */
+
+Vue.component(BaseInput.name, BaseInput);
+Vue.component(BaseDropdown.name, BaseDropdown);
+Vue.component(Card.name, Card);
+Vue.component(BaseCheckbox.name, BaseCheckbox);
+Vue.component(BaseButton.name, BaseButton);
+Vue.component(Input.name, Input);
+Vue.component(InputNumber.name, InputNumber);
+Vue.use(Tooltip);
+Vue.use(Popover);
diff --git a/APP/plugins/globalDirectives.js b/APP/plugins/globalDirectives.js
new file mode 100755
index 0000000..683fc56
--- /dev/null
+++ b/APP/plugins/globalDirectives.js
@@ -0,0 +1,7 @@
+import Vue from 'vue'
+import clickOutside from './directives/click-ouside.js';
+
+/**
+ * You can register global directives here and use them as a plugin in your main Vue instance
+ */
+Vue.directive('click-outside', clickOutside);
diff --git a/APP/static/README.md b/APP/static/README.md
new file mode 100644
index 0000000..cf00435
--- /dev/null
+++ b/APP/static/README.md
@@ -0,0 +1,11 @@
+# STATIC
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your static files.
+Each file inside this directory is mapped to `/`.
+Thus you'd want to delete this README.md before deploying to production.
+
+Example: `/static/robots.txt` is mapped as `/robots.txt`.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).
diff --git a/APP/static/favicon.ico b/APP/static/favicon.ico
new file mode 100644
index 0000000..3632d0c
Binary files /dev/null and b/APP/static/favicon.ico differ
diff --git a/APP/static/favicon.png b/APP/static/favicon.png
new file mode 100644
index 0000000..7d8b7d0
Binary files /dev/null and b/APP/static/favicon.png differ
diff --git a/APP/static/icon.png b/APP/static/icon.png
new file mode 100644
index 0000000..7d8b7d0
Binary files /dev/null and b/APP/static/icon.png differ
diff --git a/APP/static/img/AU.png b/APP/static/img/AU.png
new file mode 100755
index 0000000..8999d44
Binary files /dev/null and b/APP/static/img/AU.png differ
diff --git a/APP/static/img/BR.png b/APP/static/img/BR.png
new file mode 100755
index 0000000..f8d0400
Binary files /dev/null and b/APP/static/img/BR.png differ
diff --git a/APP/static/img/DE.png b/APP/static/img/DE.png
new file mode 100755
index 0000000..3ee1c99
Binary files /dev/null and b/APP/static/img/DE.png differ
diff --git a/APP/static/img/GB.png b/APP/static/img/GB.png
new file mode 100755
index 0000000..ddc33e6
Binary files /dev/null and b/APP/static/img/GB.png differ
diff --git a/APP/static/img/RO.png b/APP/static/img/RO.png
new file mode 100755
index 0000000..457e5bf
Binary files /dev/null and b/APP/static/img/RO.png differ
diff --git a/APP/static/img/US.png b/APP/static/img/US.png
new file mode 100755
index 0000000..d371491
Binary files /dev/null and b/APP/static/img/US.png differ
diff --git a/APP/static/img/apple-icon.png b/APP/static/img/apple-icon.png
new file mode 100755
index 0000000..0577a33
Binary files /dev/null and b/APP/static/img/apple-icon.png differ
diff --git a/APP/static/img/asc.gif b/APP/static/img/asc.gif
new file mode 100644
index 0000000..5e7e99d
Binary files /dev/null and b/APP/static/img/asc.gif differ
diff --git a/APP/static/img/bg.gif b/APP/static/img/bg.gif
new file mode 100644
index 0000000..af9a62d
Binary files /dev/null and b/APP/static/img/bg.gif differ
diff --git a/APP/static/img/bg1.jpg b/APP/static/img/bg1.jpg
new file mode 100755
index 0000000..1b31f4f
Binary files /dev/null and b/APP/static/img/bg1.jpg differ
diff --git a/APP/static/img/bg3.jpg b/APP/static/img/bg3.jpg
new file mode 100755
index 0000000..b87c97f
Binary files /dev/null and b/APP/static/img/bg3.jpg differ
diff --git a/APP/static/img/card-danger.png b/APP/static/img/card-danger.png
new file mode 100755
index 0000000..a0a2d86
Binary files /dev/null and b/APP/static/img/card-danger.png differ
diff --git a/APP/static/img/card-info.png b/APP/static/img/card-info.png
new file mode 100755
index 0000000..a494e71
Binary files /dev/null and b/APP/static/img/card-info.png differ
diff --git a/APP/static/img/card-primary.png b/APP/static/img/card-primary.png
new file mode 100755
index 0000000..528f308
Binary files /dev/null and b/APP/static/img/card-primary.png differ
diff --git a/APP/static/img/card-success.png b/APP/static/img/card-success.png
new file mode 100755
index 0000000..b9c41bb
Binary files /dev/null and b/APP/static/img/card-success.png differ
diff --git a/APP/static/img/card-warning.png b/APP/static/img/card-warning.png
new file mode 100755
index 0000000..b4eabc1
Binary files /dev/null and b/APP/static/img/card-warning.png differ
diff --git a/APP/static/img/default-avatar.png b/APP/static/img/default-avatar.png
new file mode 100755
index 0000000..4d461b2
Binary files /dev/null and b/APP/static/img/default-avatar.png differ
diff --git a/APP/static/img/desc.gif b/APP/static/img/desc.gif
new file mode 100644
index 0000000..3efc149
Binary files /dev/null and b/APP/static/img/desc.gif differ
diff --git a/APP/static/img/emilyz.jpg b/APP/static/img/emilyz.jpg
new file mode 100755
index 0000000..54f584f
Binary files /dev/null and b/APP/static/img/emilyz.jpg differ
diff --git a/APP/static/img/favicon.png b/APP/static/img/favicon.png
new file mode 100755
index 0000000..ec65f8e
Binary files /dev/null and b/APP/static/img/favicon.png differ
diff --git a/APP/static/img/gucci.png b/APP/static/img/gucci.png
new file mode 100755
index 0000000..821f231
Binary files /dev/null and b/APP/static/img/gucci.png differ
diff --git a/APP/static/img/icon-nuxt.svg b/APP/static/img/icon-nuxt.svg
new file mode 100644
index 0000000..052007f
--- /dev/null
+++ b/APP/static/img/icon-nuxt.svg
@@ -0,0 +1,7 @@
+
diff --git a/APP/static/img/icon-vue.png b/APP/static/img/icon-vue.png
new file mode 100755
index 0000000..a9b246e
Binary files /dev/null and b/APP/static/img/icon-vue.png differ
diff --git a/APP/static/img/icons/android-chrome-192x192.png b/APP/static/img/icons/android-chrome-192x192.png
new file mode 100644
index 0000000..b02aa64
Binary files /dev/null and b/APP/static/img/icons/android-chrome-192x192.png differ
diff --git a/APP/static/img/icons/android-chrome-512x512.png b/APP/static/img/icons/android-chrome-512x512.png
new file mode 100644
index 0000000..06088b0
Binary files /dev/null and b/APP/static/img/icons/android-chrome-512x512.png differ
diff --git a/APP/static/img/icons/apple-touch-icon-120x120.png b/APP/static/img/icons/apple-touch-icon-120x120.png
new file mode 100644
index 0000000..1427cf6
Binary files /dev/null and b/APP/static/img/icons/apple-touch-icon-120x120.png differ
diff --git a/APP/static/img/icons/apple-touch-icon-152x152.png b/APP/static/img/icons/apple-touch-icon-152x152.png
new file mode 100644
index 0000000..f24d454
Binary files /dev/null and b/APP/static/img/icons/apple-touch-icon-152x152.png differ
diff --git a/APP/static/img/icons/apple-touch-icon-180x180.png b/APP/static/img/icons/apple-touch-icon-180x180.png
new file mode 100644
index 0000000..404e192
Binary files /dev/null and b/APP/static/img/icons/apple-touch-icon-180x180.png differ
diff --git a/APP/static/img/icons/apple-touch-icon-60x60.png b/APP/static/img/icons/apple-touch-icon-60x60.png
new file mode 100644
index 0000000..cf10a56
Binary files /dev/null and b/APP/static/img/icons/apple-touch-icon-60x60.png differ
diff --git a/APP/static/img/icons/apple-touch-icon-76x76.png b/APP/static/img/icons/apple-touch-icon-76x76.png
new file mode 100644
index 0000000..c500769
Binary files /dev/null and b/APP/static/img/icons/apple-touch-icon-76x76.png differ
diff --git a/APP/static/img/icons/apple-touch-icon.png b/APP/static/img/icons/apple-touch-icon.png
new file mode 100644
index 0000000..03c0c5d
Binary files /dev/null and b/APP/static/img/icons/apple-touch-icon.png differ
diff --git a/APP/static/img/icons/favicon-16x16.png b/APP/static/img/icons/favicon-16x16.png
new file mode 100644
index 0000000..42af009
Binary files /dev/null and b/APP/static/img/icons/favicon-16x16.png differ
diff --git a/APP/static/img/icons/favicon-32x32.png b/APP/static/img/icons/favicon-32x32.png
new file mode 100644
index 0000000..46ca04d
Binary files /dev/null and b/APP/static/img/icons/favicon-32x32.png differ
diff --git a/APP/static/img/icons/msapplication-icon-144x144.png b/APP/static/img/icons/msapplication-icon-144x144.png
new file mode 100644
index 0000000..7808237
Binary files /dev/null and b/APP/static/img/icons/msapplication-icon-144x144.png differ
diff --git a/APP/static/img/icons/mstile-150x150.png b/APP/static/img/icons/mstile-150x150.png
new file mode 100644
index 0000000..3b37a43
Binary files /dev/null and b/APP/static/img/icons/mstile-150x150.png differ
diff --git a/APP/static/img/icons/safari-pinned-tab.svg b/APP/static/img/icons/safari-pinned-tab.svg
new file mode 100644
index 0000000..732afd8
--- /dev/null
+++ b/APP/static/img/icons/safari-pinned-tab.svg
@@ -0,0 +1,149 @@
+
+
+
diff --git a/APP/static/img/image_placeholder.jpg b/APP/static/img/image_placeholder.jpg
new file mode 100755
index 0000000..3b8fd2a
Binary files /dev/null and b/APP/static/img/image_placeholder.jpg differ
diff --git a/APP/static/img/jacket.png b/APP/static/img/jacket.png
new file mode 100755
index 0000000..4c81cc6
Binary files /dev/null and b/APP/static/img/jacket.png differ
diff --git a/APP/static/img/james.jpg b/APP/static/img/james.jpg
new file mode 100755
index 0000000..cb3a70b
Binary files /dev/null and b/APP/static/img/james.jpg differ
diff --git a/APP/static/img/jana.jpg b/APP/static/img/jana.jpg
new file mode 100755
index 0000000..cb81424
Binary files /dev/null and b/APP/static/img/jana.jpg differ
diff --git a/APP/static/img/lora.jpg b/APP/static/img/lora.jpg
new file mode 100755
index 0000000..466e67d
Binary files /dev/null and b/APP/static/img/lora.jpg differ
diff --git a/APP/static/img/mdchaparror.png b/APP/static/img/mdchaparror.png
new file mode 100644
index 0000000..735e66f
Binary files /dev/null and b/APP/static/img/mdchaparror.png differ
diff --git a/APP/static/img/mike.jpg b/APP/static/img/mike.jpg
new file mode 100755
index 0000000..165c71f
Binary files /dev/null and b/APP/static/img/mike.jpg differ
diff --git a/APP/static/img/placeholder.jpg b/APP/static/img/placeholder.jpg
new file mode 100755
index 0000000..e527199
Binary files /dev/null and b/APP/static/img/placeholder.jpg differ
diff --git a/APP/static/img/robi.jpg b/APP/static/img/robi.jpg
new file mode 100755
index 0000000..160a6da
Binary files /dev/null and b/APP/static/img/robi.jpg differ
diff --git a/APP/static/img/t-shirt.png b/APP/static/img/t-shirt.png
new file mode 100755
index 0000000..18b25cd
Binary files /dev/null and b/APP/static/img/t-shirt.png differ
diff --git a/APP/static/img/tania.jpg b/APP/static/img/tania.jpg
new file mode 100755
index 0000000..e8339b2
Binary files /dev/null and b/APP/static/img/tania.jpg differ
diff --git a/APP/store/README.md b/APP/store/README.md
new file mode 100644
index 0000000..1972d27
--- /dev/null
+++ b/APP/store/README.md
@@ -0,0 +1,10 @@
+# STORE
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your Vuex Store files.
+Vuex Store option is implemented in the Nuxt.js framework.
+
+Creating a file in this directory automatically activates the option in the framework.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).
diff --git a/APP/util/mock-users.js b/APP/util/mock-users.js
new file mode 100755
index 0000000..2ef1402
--- /dev/null
+++ b/APP/util/mock-users.js
@@ -0,0 +1,402 @@
+export default [
+ {
+ id: 1,
+ name: "Noelia O'Kon",
+ nickname: 'asperiores',
+ email: 'otho.smitham@example.com',
+ salary: '€ 13098.00',
+ age: 39
+ },
+ {
+ id: 2,
+ name: 'Mr. Enid Von PhD',
+ nickname: 'alias',
+ email: 'pollich.cecilia@example.com',
+ salary: '€ 35978.00',
+ age: 26
+ },
+ {
+ id: 3,
+ name: 'Colton Koch',
+ nickname: 'id',
+ email: 'little.myrna@example.net',
+ salary: '€ 26278.00',
+ age: 48
+ },
+ {
+ id: 4,
+ name: 'Gregory Vandervort',
+ nickname: 'vel',
+ email: 'dock47@example.org',
+ salary: '€ 25537.00',
+ age: 27
+ },
+ {
+ id: 5,
+ name: 'Miss Rahsaan Heaney IV',
+ nickname: 'qui',
+ email: 'ugrady@example.org',
+ salary: '€ 49003.00',
+ age: 21
+ },
+ {
+ id: 6,
+ name: 'Ms. Crystel Zemlak IV',
+ nickname: 'reiciendis',
+ email: 'amari.rau@example.com',
+ salary: '€ 12383.00',
+ age: 48
+ },
+ {
+ id: 7,
+ name: 'Nona McDermott',
+ nickname: 'quaerat',
+ email: 'adrien.baumbach@example.org',
+ salary: '€ 18512.00',
+ age: 31
+ },
+ {
+ id: 8,
+ name: 'Miss Genoveva Murazik V',
+ nickname: 'rerum',
+ email: 'ohettinger@example.net',
+ salary: '€ 31209.00',
+ age: 28
+ },
+ {
+ id: 9,
+ name: 'Beulah Huels',
+ nickname: 'non',
+ email: 'stefan99@example.com',
+ salary: '€ 36920.00',
+ age: 53
+ },
+ {
+ id: 10,
+ name: 'Zoe Klein',
+ nickname: 'ex',
+ email: 'ejacobson@example.org',
+ salary: '€ 35616.00',
+ age: 27
+ },
+ {
+ id: 11,
+ name: 'Vickie Kiehn',
+ nickname: 'assumenda',
+ email: 'ayost@example.com',
+ salary: '€ 30790.00',
+ age: 29
+ },
+ {
+ id: 12,
+ name: 'Elwyn Herzog',
+ nickname: 'praesentium',
+ email: 'ckassulke@example.net',
+ salary: '€ 35785.00',
+ age: 27
+ },
+ {
+ id: 13,
+ name: 'Selena Hettinger',
+ nickname: 'et',
+ email: 'bashirian.hyman@example.net',
+ salary: '€ 31836.00',
+ age: 35
+ },
+ {
+ id: 14,
+ name: 'Edwin Beier',
+ nickname: 'eos',
+ email: 'janis71@example.org',
+ salary: '€ 11902.00',
+ age: 38
+ },
+ {
+ id: 15,
+ name: 'Lexi Braun MD',
+ nickname: 'autem',
+ email: 'dusty74@example.net',
+ salary: '€ 11927.00',
+ age: 45
+ },
+ {
+ id: 16,
+ name: 'Jovany Spencer',
+ nickname: 'fugit',
+ email: 'gbogisich@example.org',
+ salary: '€ 44686.00',
+ age: 43
+ },
+ {
+ id: 17,
+ name: 'Prof. Maci Anderson DVM',
+ nickname: 'dolorem',
+ email: 'btorp@example.com',
+ salary: '€ 25055.00',
+ age: 29
+ },
+ {
+ id: 18,
+ name: 'Joel Kulas MD',
+ nickname: 'sed',
+ email: 'phoebe.sauer@example.org',
+ salary: '€ 11650.00',
+ age: 24
+ },
+ {
+ id: 19,
+ name: 'Mr. Dawson Greenholt',
+ nickname: 'nostrum',
+ email: 'asawayn@example.org',
+ salary: '€ 46962.00',
+ age: 53
+ },
+ {
+ id: 20,
+ name: 'Prof. Lloyd Green',
+ nickname: 'velit',
+ email: 'laila.hintz@example.org',
+ salary: '€ 12928.00',
+ age: 46
+ },
+ {
+ id: 21,
+ name: 'Shayna Morar',
+ nickname: 'rerum',
+ email: 'wfay@example.org',
+ salary: '€ 22638.00',
+ age: 26
+ },
+ {
+ id: 22,
+ name: 'Krista Schulist',
+ nickname: 'qui',
+ email: 'gregoria.jakubowski@example.com',
+ salary: '€ 49345.00',
+ age: 42
+ },
+ {
+ id: 23,
+ name: 'Leone Lemke',
+ nickname: 'repellat',
+ email: 'ltorphy@example.com',
+ salary: '€ 17560.00',
+ age: 42
+ },
+ {
+ id: 24,
+ name: 'Dr. Willie Kemmer II',
+ nickname: 'quasi',
+ email: 'ivy51@example.net',
+ salary: '€ 35370.00',
+ age: 30
+ },
+ {
+ id: 25,
+ name: 'Deonte Lebsack',
+ nickname: 'nesciunt',
+ email: 'alisa83@example.net',
+ salary: '€ 32725.00',
+ age: 24
+ },
+ {
+ id: 26,
+ name: 'Prof. Shayne Nader',
+ nickname: 'voluptas',
+ email: 'bosco.shaina@example.net',
+ salary: '€ 9844.00',
+ age: 23
+ },
+ {
+ id: 27,
+ name: 'Prof. Kennith Kertzmann',
+ nickname: 'alias',
+ email: 'satterfield.jonathan@example.com',
+ salary: '€ 41950.00',
+ age: 25
+ },
+ {
+ id: 28,
+ name: "Miss Meagan O'Keefe",
+ nickname: 'corporis',
+ email: 'tracy.barrows@example.com',
+ salary: '€ 41803.00',
+ age: 50
+ },
+ {
+ id: 29,
+ name: 'Prof. Edward Pagac MD',
+ nickname: 'quia',
+ email: 'gerhard65@example.org',
+ salary: '€ 22896.00',
+ age: 43
+ },
+ {
+ id: 30,
+ name: 'Samantha Weissnat',
+ nickname: 'est',
+ email: 'crystel66@example.net',
+ salary: '€ 18805.00',
+ age: 43
+ },
+ {
+ id: 31,
+ name: 'Dr. Gilbert Ward',
+ nickname: 'dolorum',
+ email: 'sandrine06@example.net',
+ salary: '€ 16644.00',
+ age: 32
+ },
+ {
+ id: 32,
+ name: 'Mike West',
+ nickname: 'laudantium',
+ email: 'jborer@example.net',
+ salary: '€ 35728.00',
+ age: 42
+ },
+ {
+ id: 33,
+ name: 'Prof. Isabell Cruickshank I',
+ nickname: 'recusandae',
+ email: 'ondricka.lurline@example.org',
+ salary: '€ 44574.00',
+ age: 35
+ },
+ {
+ id: 34,
+ name: 'Prof. Lonny Rath',
+ nickname: 'nihil',
+ email: 'rfeest@example.net',
+ salary: '€ 19949.00',
+ age: 48
+ },
+ {
+ id: 35,
+ name: 'Santina Medhurst MD',
+ nickname: 'suscipit',
+ email: 'ila24@example.net',
+ salary: '€ 36323.00',
+ age: 51
+ },
+ {
+ id: 36,
+ name: 'Jeff Lehner',
+ nickname: 'quo',
+ email: 'jarred77@example.com',
+ salary: '€ 48462.00',
+ age: 42
+ },
+ {
+ id: 37,
+ name: 'Samanta Pfeffer',
+ nickname: 'officia',
+ email: 'fgoyette@example.net',
+ salary: '€ 19601.00',
+ age: 42
+ },
+ {
+ id: 38,
+ name: 'Ofelia Torp',
+ nickname: 'a',
+ email: 'ericka44@example.net',
+ salary: '€ 33149.00',
+ age: 35
+ },
+ {
+ id: 39,
+ name: 'Mrs. Margarete Raynor',
+ nickname: 'quia',
+ email: 'jlegros@example.net',
+ salary: '€ 21951.00',
+ age: 40
+ },
+ {
+ id: 40,
+ name: 'Mr. Brant Howell V',
+ nickname: 'perspiciatis',
+ email: 'franecki.gerald@example.org',
+ salary: '€ 41552.00',
+ age: 53
+ },
+ {
+ id: 41,
+ name: 'Reilly Ruecker DVM',
+ nickname: 'ad',
+ email: 'ldeckow@example.net',
+ salary: '€ 22709.00',
+ age: 42
+ },
+ {
+ id: 42,
+ name: 'Zachery McDermott',
+ nickname: 'molestiae',
+ email: 'gladyce84@example.com',
+ salary: '€ 32354.00',
+ age: 25
+ },
+ {
+ id: 43,
+ name: 'Heloise Kulas',
+ nickname: 'aut',
+ email: 'kessler.helen@example.net',
+ salary: '€ 45086.00',
+ age: 54
+ },
+ {
+ id: 44,
+ name: 'Norma Dibbert',
+ nickname: 'amet',
+ email: 'eudora36@example.net',
+ salary: '€ 15661.00',
+ age: 46
+ },
+ {
+ id: 45,
+ name: 'Immanuel Auer',
+ nickname: 'quia',
+ email: 'halvorson.theodora@example.org',
+ salary: '€ 15862.00',
+ age: 39
+ },
+ {
+ id: 46,
+ name: 'Lamont Borer',
+ nickname: 'expedita',
+ email: 'trantow.neoma@example.com',
+ salary: '€ 12544.00',
+ age: 25
+ },
+ {
+ id: 47,
+ name: 'Brooke Purdy',
+ nickname: 'cupiditate',
+ email: 'bhermiston@example.net',
+ salary: '€ 14457.00',
+ age: 50
+ },
+ {
+ id: 48,
+ name: 'Dr. Leo Dach',
+ nickname: 'et',
+ email: 'camila.ward@example.com',
+ salary: '€ 40278.00',
+ age: 49
+ },
+ {
+ id: 49,
+ name: 'Krystal Langosh',
+ nickname: 'voluptatum',
+ email: 'pacocha.yesenia@example.org',
+ salary: '€ 9305.00',
+ age: 34
+ },
+ {
+ id: 50,
+ name: 'Florence Greenfelder',
+ nickname: 'odit',
+ email: 'kenyatta.oconnell@example.com',
+ salary: '€ 36980.00',
+ age: 38
+ }
+];
diff --git a/APP/util/throttle.js b/APP/util/throttle.js
new file mode 100644
index 0000000..9f11524
--- /dev/null
+++ b/APP/util/throttle.js
@@ -0,0 +1,15 @@
+/**
+ * Simple throttle function that executes a passed function only once in the specified timeout
+ * @param handlerFunc
+ * @param [timeout] the throttle interval
+ */
+export function throttle(handlerFunc, timeout = 66) {
+ let resizeTimeout;
+ if (!resizeTimeout) {
+ resizeTimeout = setTimeout(() => {
+ resizeTimeout = null;
+ handlerFunc();
+ // The actualResizeHandler will execute at a rate of 15fps
+ }, timeout);
+ }
+}