Made the schema for the lighthouse metrics.

This commit is contained in:
M M
2024-07-15 14:06:41 -07:00
parent f3aa0173b3
commit 19861f3253
8 changed files with 82 additions and 0 deletions

1
Server/.dockerignore Normal file
View File

@@ -0,0 +1 @@
./docker

View File

@@ -0,0 +1,24 @@
version: "3"
services:
server:
image: uptime_server:latest
ports:
- "5000:5000"
env_file:
- .env
depends_on:
- redis
- mongodb
redis:
image: uptime_redis:latest
ports:
- "6379:6379"
volumes:
- ./redis/data:/data
mongodb:
image: uptime_database_mongo:latest
command: ["mongod", "--quiet"]
ports:
- "27017:27017"
volumes:
- ./mongo/data:/data/db

View File

@@ -0,0 +1,2 @@
FROM mongo
EXPOSE 27017

View File

@@ -0,0 +1,2 @@
FROM mongo
EXPOSE 27017

View File

@@ -0,0 +1,2 @@
FROM redis
EXPOSE 6379

View File

@@ -0,0 +1,2 @@
FROM redis
EXPOSE 6379

View File

@@ -0,0 +1,13 @@
FROM node:20
WORKDIR /app
COPY ../../package*.json ./
RUN npm install
COPY ../../ ./
EXPOSE 5000
CMD ["node", "index.js"]

36
Server/models/Metrics.js Normal file
View File

@@ -0,0 +1,36 @@
const mongoose = require("mongoose");
const MetricsSchema = mongoose.Schema(
{
monitorId: {
type: mongoose.Schema.Types.ObjectId,
ref: "Monitor",
immutable: true,
},
accessibility: {
type: Object,
required: true,
},
bestPractices: {
type: Object,
required: true,
},
seo: {
type: Object,
required: true,
},
performance: {
type: Object,
required: true,
},
timestamp: {
type: Date,
default: Date.now,
},
},
{
timestamps: true,
}
);
module.exports = mongoose.model("LighthouseMetrics", MetricsSchema);