+
+
+
+
+
+
diff --git a/gca-admin-gurusoft-message-dashboard/src/components/TheWelcome.vue b/gca-admin-gurusoft-message-dashboard/src/components/TheWelcome.vue
deleted file mode 100644
index fe48afc..0000000
--- a/gca-admin-gurusoft-message-dashboard/src/components/TheWelcome.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
- Documentation
-
- Vue’s
- official documentation
- provides you with all information you need to get started.
-
-
-
-
-
-
- Tooling
-
- This project is served and bundled with
- Vite. The
- recommended IDE setup is
- VSCode
- +
- Vue - Official. If
- you need to test your components and web pages, check out
- Vitest
- and
- Cypress
- /
- Playwright.
-
-
-
- More instructions are available in
- README.md.
-
-
-
-
-
-
- Ecosystem
-
- Get official tools and libraries for your project:
- Pinia,
- Vue Router,
- Vue Test Utils, and
- Vue Dev Tools. If
- you need more resources, we suggest paying
- Awesome Vue
- a visit.
-
-
-
-
-
-
- Community
-
- Got stuck? Ask your question on
- Vue Land
- (our official Discord server), or
- StackOverflow. You should also follow the official
- @vuejs.org
- Bluesky account or the
- @vuejs
- X account for latest news in the Vue world.
-
-
-
-
-
-
- Support Vue
-
- As an independent project, Vue relies on community backing for its sustainability. You can help
- us by
- becoming a sponsor.
-
-
diff --git a/gca-admin-gurusoft-message-dashboard/src/components/WelcomeItem.vue b/gca-admin-gurusoft-message-dashboard/src/components/WelcomeItem.vue
deleted file mode 100644
index 6d7086a..0000000
--- a/gca-admin-gurusoft-message-dashboard/src/components/WelcomeItem.vue
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconCommunity.vue b/gca-admin-gurusoft-message-dashboard/src/components/icons/IconCommunity.vue
deleted file mode 100644
index 2dc8b05..0000000
--- a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconCommunity.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconDocumentation.vue b/gca-admin-gurusoft-message-dashboard/src/components/icons/IconDocumentation.vue
deleted file mode 100644
index 6d4791c..0000000
--- a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconDocumentation.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconEcosystem.vue b/gca-admin-gurusoft-message-dashboard/src/components/icons/IconEcosystem.vue
deleted file mode 100644
index c3a4f07..0000000
--- a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconEcosystem.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconSupport.vue b/gca-admin-gurusoft-message-dashboard/src/components/icons/IconSupport.vue
deleted file mode 100644
index 7452834..0000000
--- a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconSupport.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconTooling.vue b/gca-admin-gurusoft-message-dashboard/src/components/icons/IconTooling.vue
deleted file mode 100644
index 660598d..0000000
--- a/gca-admin-gurusoft-message-dashboard/src/components/icons/IconTooling.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
diff --git a/gca-admin-gurusoft-message-dashboard/src/main.js b/gca-admin-gurusoft-message-dashboard/src/main.js
index 0ac3a5f..600780d 100644
--- a/gca-admin-gurusoft-message-dashboard/src/main.js
+++ b/gca-admin-gurusoft-message-dashboard/src/main.js
@@ -1,6 +1,9 @@
import './assets/main.css'
-import { createApp } from 'vue'
+import {createApp} from 'vue'
import App from './App.vue'
+import router from './router';
-createApp(App).mount('#app')
+createApp(App)
+ .use(router)
+ .mount('#app');
diff --git a/gca-admin-gurusoft-message-dashboard/src/mocks/system_message.json b/gca-admin-gurusoft-message-dashboard/src/mocks/system_message.json
new file mode 100644
index 0000000..db24a14
--- /dev/null
+++ b/gca-admin-gurusoft-message-dashboard/src/mocks/system_message.json
@@ -0,0 +1,142 @@
+[
+ {
+ "id": 1,
+ "type": "info",
+ "title": "System Maintenance Notification",
+ "message": "Scheduled maintenance will occur this weekend.",
+ "description": "The system will be down for maintenance from 10 PM to 2 AM on Saturday.",
+ "url": "https://status.example.com/maintenance",
+ "tags": [
+ "maintenance",
+ "downtime",
+ "system"
+ ],
+ "date": "2025-06-28T22:00:00Z"
+ },
+ {
+ "id": 2,
+ "type": "warning",
+ "title": "High Memory Usage Detected",
+ "message": "One of the servers is experiencing high memory usage.",
+ "description": "Our monitoring tools have detected abnormal memory usage on node-03. Investigation is ongoing.",
+ "url": "https://status.example.com/memory-warning",
+ "tags": [
+ "performance",
+ "alert",
+ "memory"
+ ],
+ "date": "2025-06-26T08:45:00Z"
+ },
+ {
+ "id": 3,
+ "type": "new",
+ "title": "Database Connection Failure",
+ "message": "The application failed to connect to the database.",
+ "description": "An issue with the DB connection pool is preventing new sessions. Engineers are working on a fix.",
+ "url": "https://status.example.com/db-error",
+ "tags": [
+ "database",
+ "error",
+ "critical"
+ ],
+ "date": "2025-06-25T14:10:00Z"
+ },
+ {
+ "id": 4,
+ "type": "new",
+ "title": "New Feature Release",
+ "message": "We’ve launched a new dashboard experience.",
+ "description": "The new dashboard includes improved analytics and faster loading times. Available to all users.",
+ "url": "https://docs.example.com/new-dashboard",
+ "tags": [
+ "release",
+ "feature",
+ "dashboard"
+ ],
+ "date": "2025-06-24T10:00:00Z"
+ },
+ {
+ "id": 5,
+ "type": "random",
+ "title": "API Rate Limit Notice",
+ "message": "Your application is approaching the rate limit.",
+ "description": "Please optimize your API usage to avoid temporary blocks. Visit our docs for best practices.",
+ "url": "https://api.example.com/docs/rate-limiting",
+ "tags": [
+ "api",
+ "rate-limit",
+ "usage"
+ ],
+ "date": "2025-06-23T17:30:00Z"
+ },
+ {
+ "id": 6,
+ "type": "info",
+ "title": "System Maintenance Notification",
+ "message": "Scheduled maintenance will occur this weekend.",
+ "description": "The system will be down for maintenance from 10 PM to 2 AM on Saturday.",
+ "url": "https://status.example.com/maintenance",
+ "tags": [
+ "maintenance",
+ "downtime",
+ "system"
+ ],
+ "date": "2025-06-28T22:00:00Z"
+ },
+ {
+ "id": 7,
+ "type": "warning",
+ "title": "High Memory Usage Detected",
+ "message": "One of the servers is experiencing high memory usage.",
+ "description": "Our monitoring tools have detected abnormal memory usage on node-03. Investigation is ongoing.",
+ "url": "https://status.example.com/memory-warning",
+ "tags": [
+ "performance",
+ "alert",
+ "memory"
+ ],
+ "date": "2025-06-26T08:45:00Z"
+ },
+ {
+ "id": 8,
+ "type": "new",
+ "title": "Database Connection Failure",
+ "message": "The application failed to connect to the database.",
+ "description": "An issue with the DB connection pool is preventing new sessions. Engineers are working on a fix.",
+ "url": "https://status.example.com/db-error",
+ "tags": [
+ "database",
+ "error",
+ "critical"
+ ],
+ "date": "2025-06-25T14:10:00Z"
+ },
+ {
+ "id": 9,
+ "type": "new",
+ "title": "New Feature Release",
+ "message": "We’ve launched a new dashboard experience.",
+ "description": "The new dashboard includes improved analytics and faster loading times. Available to all users.",
+ "url": "https://docs.example.com/new-dashboard",
+ "tags": [
+ "release",
+ "feature",
+ "dashboard"
+ ],
+ "date": "2025-06-24T10:00:00Z"
+ },
+ {
+ "id": 10,
+ "type": "random",
+ "title": "API Rate Limit Notice",
+ "message": "Your application is approaching the rate limit.",
+ "description": "Please optimize your API usage to avoid temporary blocks. Visit our docs for best practices.",
+ "url": "https://api.example.com/docs/rate-limiting",
+ "tags": [
+ "api",
+ "rate-limit",
+ "usage"
+ ],
+ "date": "2025-06-23T17:30:00Z"
+ }
+]
diff --git a/gca-admin-gurusoft-message-dashboard/src/router/index.js b/gca-admin-gurusoft-message-dashboard/src/router/index.js
new file mode 100644
index 0000000..a05cafc
--- /dev/null
+++ b/gca-admin-gurusoft-message-dashboard/src/router/index.js
@@ -0,0 +1,16 @@
+import {createRouter, createWebHistory} from 'vue-router';
+import SystemMessagesPage from '../components/SystemMessagesPage.vue';
+import SystemMessages from '../components/SystemMesssages.vue';
+
+
+const routes = [
+ {path: '/', name: 'Home', component: SystemMessages},
+ {path: '/systemmessagelist', name: 'MessagesPage', component: SystemMessagesPage}
+];
+
+const router = createRouter({
+ history: createWebHistory(),
+ routes
+});
+
+export default router;
diff --git a/gca-admin-gurusoft-message-dashboard/src/utils/api.js b/gca-admin-gurusoft-message-dashboard/src/utils/api.js
new file mode 100644
index 0000000..7e50f70
--- /dev/null
+++ b/gca-admin-gurusoft-message-dashboard/src/utils/api.js
@@ -0,0 +1,27 @@
+import mockSystemMessages from '../mocks/system_message.json';
+
+const createMockApi = () => {
+ return {
+ // Get all messages
+ getAllMessages: async () => {
+ await new Promise(resolve => setTimeout(resolve, 300));
+ return mockSystemMessages;
+ },
+
+ // Get a single message by ID
+ getMessageById: async (id) => {
+ await new Promise(resolve => setTimeout(resolve, 200));
+ return mockSystemMessages.find(msg => msg.id === id) || null;
+ },
+
+ // Get messages filtered by type (e.g. INFO, ERROR)
+ getMessagesByType: async (type) => {
+ await new Promise(resolve => setTimeout(resolve, 200));
+ return mockSystemMessages.filter(msg => msg.type === type);
+ }
+ };
+};
+
+export const initializeApi = (useMockedData = true) => {
+ return createMockApi();
+};