From 152e887b9486d3b28775a62d7a1edc7ce00f3ad7 Mon Sep 17 00:00:00 2001 From: abbasf <Famboupe.Abbas@Student.Reutlingen-University.DE> Date: Fri, 25 Apr 2025 14:37:28 +0100 Subject: [PATCH] docker image and container creation and fixes to the connection to the mongodb database --- Dockerfile | 14 ++++++++++++++ docker-compose.yml | 25 +++++++++++++++++++++++++ src/Controller.js | 2 -- src/DatabaseController.js | 13 ++++++++++++- src/Stylesheet.css | 2 +- 5 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6134672 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:18 + +LABEL authors="enzof" + +WORKDIR /app + +COPY package*.json ./ +RUN npm install + +COPY . . + +EXPOSE 5000 + +CMD ["node", "src/DatabaseController.js"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c9e07b5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.8' + +services: + mongo: + image: mongo + container_name: mongodb + ports: + - "27017:27017" + volumes: + - mongo-data:/data/db + restart: always + + app: + build: . + container_name: todo-app + ports: + - "5000:5000" + depends_on: + - mongo + environment: + - MONGO_URI=mongodb://mongo:27017/CloudComputing + restart: always + +volumes: + mongo-data: diff --git a/src/Controller.js b/src/Controller.js index d546e4f..9ae9fd6 100644 --- a/src/Controller.js +++ b/src/Controller.js @@ -97,12 +97,10 @@ function createItem(todo, index) { </button> `; - // Event-Listener für das Löschen eines Todos todoListNode.querySelector(".btn-delete").addEventListener("click", function() { deleteElement(index); }); - // Event-Listener für das Ändern des Status todoListNode.querySelector(`#${itemId}`).addEventListener("change", function(event) { updateStatus(index, event.target.checked); }); diff --git a/src/DatabaseController.js b/src/DatabaseController.js index 3f83bd5..4b049e1 100644 --- a/src/DatabaseController.js +++ b/src/DatabaseController.js @@ -1,14 +1,25 @@ const express = require("express"); const mongoose = require("mongoose"); const cors = require("cors"); +const path = require('path'); +const fs = require('fs'); //TODO Schauen ob ich das hier brauche + + + + const app = express(); const PORT = process.env.PORT || 5000; app.use(cors()); app.use(express.json()); +app.use(express.static(path.join(__dirname))); + +app.get('/', (req, res) => { + res.sendFile(path.join(__dirname, 'Layout.html')); +}); -const uri = "mongodb://localhost:27017/CloudComputing"; +const uri = process.env.MONGO_URI || "mongodb://localhost:27017/CloudComputing"; //Method to create database connection mongoose.connect(uri) diff --git a/src/Stylesheet.css b/src/Stylesheet.css index d8a36ba..6c40515 100644 --- a/src/Stylesheet.css +++ b/src/Stylesheet.css @@ -1,7 +1,7 @@ :root{ --background: #33302B; --primary-color: #332F29; - --secondary-color: #5C4E3A; + --secondary-color: #78684c; --accent-color: #DB8C1D; --text-color: #000000; } -- GitLab