diff --git a/backend/src/index.js b/backend/src/index.js index adfa144..234d2c5 100644 --- a/backend/src/index.js +++ b/backend/src/index.js @@ -1,5 +1,6 @@ const express = require("express"); const cors = require('cors'); +const mongoose = require('mongoose'); const dotenv = require('dotenv'); @@ -27,6 +28,33 @@ app.get("/api/test", (req, res) => { res.json({"message": "Hello from backend!"}); }); +app.get("/api/status", (req, res) => { + const mem = process.memoryUsage(); + const uptime = Math.floor(process.uptime()); + const hours = Math.floor(uptime / 3600); + const minutes = Math.floor((uptime % 3600) / 60); + + mongoose.connection.readyState === 1 + ? res.json({ + status: "online", + uptime: `${hours}h ${minutes}m`, + memory: { + rss: `${(mem.rss / 1024 / 1024).toFixed(1)} MB`, + heapUsed: `${(mem.heapUsed / 1024 / 1024).toFixed(1)} MB`, + }, + mongo: "connected", + }) + : res.json({ + status: "online", + uptime: `${hours}h ${minutes}m`, + memory: { + rss: `${(mem.rss / 1024 / 1024).toFixed(1)} MB`, + heapUsed: `${(mem.heapUsed / 1024 / 1024).toFixed(1)} MB`, + }, + mongo: "disconnected", + }); +}); + app.listen(5000, () => { console.log("Server running on port 5000"); }); \ No newline at end of file diff --git a/frontend/app/components/Container.vue b/frontend/app/components/Container.vue index c430f9a..28021b0 100644 --- a/frontend/app/components/Container.vue +++ b/frontend/app/components/Container.vue @@ -22,6 +22,12 @@ position: relative; margin: 15px; background: var(--color-background-fore); + box-shadow: 4px -4px 0px 0px var(--color-container-shadow); +} + +.tui-frame:first-child { + margin-top: 0; + margin-right: 0; } .tui-inner { diff --git a/frontend/app/components/parts/ServerStatus.vue b/frontend/app/components/parts/ServerStatus.vue new file mode 100644 index 0000000..9c94d55 --- /dev/null +++ b/frontend/app/components/parts/ServerStatus.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/frontend/app/pages/index.vue b/frontend/app/pages/index.vue index b8b6f6e..713ee5c 100644 --- a/frontend/app/pages/index.vue +++ b/frontend/app/pages/index.vue @@ -1,6 +1,7 @@