diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 245174a..30bfc55 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -47,6 +47,7 @@ jobs: cd ui npm test - name: Code Coverage + if: github.event_name == 'pull_request' uses: romeovs/lcov-reporter-action@v0.2.16 with: lcov-file: ./server/coverage/lcov.info diff --git a/docker/buildDockerImages.bat b/docker/buildDockerImages.bat new file mode 100644 index 0000000..2a2998e --- /dev/null +++ b/docker/buildDockerImages.bat @@ -0,0 +1,4 @@ +cd ../ui/ +docker build -t highway-ui . +cd ../server/ +docker build -t highway-server . \ No newline at end of file diff --git a/docker/buildServer.bat b/docker/buildServer.bat new file mode 100644 index 0000000..12f5eb5 --- /dev/null +++ b/docker/buildServer.bat @@ -0,0 +1,2 @@ +cd ../server/ +docker build -t highway-server . \ No newline at end of file diff --git a/docker/buildUI.bat b/docker/buildUI.bat new file mode 100644 index 0000000..a83a61f --- /dev/null +++ b/docker/buildUI.bat @@ -0,0 +1,2 @@ +cd ../ui/ +docker build -t highway-ui . \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..4400b84 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,56 @@ +version: "2" +services: + web: + image: "highway-ui" + ports: + - "8080:8080" + networks: + - frontend + depends_on: + - server + links: + - server + server: + image: "highway-server" + ports: + - "3000:3000" + depends_on: + - mongo + links: + - mongo + networks: + - backend + - frontend + mongo: + image: "mongo" + ports: + - "27017:27017" + networks: + - backend + +networks: + frontend: + backend: + + +# DB + +# Run +# docker run -v mongodata:/data/db -d -p 27017:27017 --name highway-db highway-db + +# UI + +# Run +# docker run -d -p 8080:8080 --rm --name highway-ui- highway-ui + +# Build +# docker build -t highway-ui . + + +# Server + +# Run +# docker run -d -p 3000:3000 --rm --name highway-server highway-server + +# Build +# docker build -t highway-server . \ No newline at end of file diff --git a/server/.env b/server/.env index 3fff465..46f1bfd 100644 --- a/server/.env +++ b/server/.env @@ -1 +1 @@ -TOKEN_SECRET=test \ No newline at end of file +TOKEN_SECRET=TEST_TOKEN \ No newline at end of file diff --git a/server/Dockerfile b/server/Dockerfile new file mode 100644 index 0000000..d748021 --- /dev/null +++ b/server/Dockerfile @@ -0,0 +1,8 @@ +# syntax=docker/dockerfile:1 +FROM node:16-alpine +RUN apk add --no-cache python2 g++ make +WORKDIR /server +COPY . . +RUN npm install +ENV NODE_ENV production +CMD ["node", "bin/www"] \ No newline at end of file diff --git a/server/config/db.config.js b/server/config/db.config.js index bddb744..20128fb 100644 --- a/server/config/db.config.js +++ b/server/config/db.config.js @@ -5,4 +5,7 @@ module.exports = { test: { url: "mongodb://localhost:27017/highwaytrackerdb_testing", }, + production: { + url: "mongodb://mongo:27017/highwaytrackerdb", + }, }; diff --git a/server/database/index.js b/server/database/index.js index eaea80b..54e7f4f 100644 --- a/server/database/index.js +++ b/server/database/index.js @@ -29,7 +29,6 @@ db.mongoose.plugin((schema) => { function setRunValidators() { this.setOptions({ runValidators: true }); } - // Using the mongoose object, start the database db.mongoose .connect(db.url, { diff --git a/server/package.json b/server/package.json index 4dab44b..77f3769 100644 --- a/server/package.json +++ b/server/package.json @@ -15,6 +15,7 @@ "eslint": "^8.8.0", "express": "^4.17.2", "haversine": "^1.1.1", + "haversine-distance": "^1.2.1", "http-errors": "^2.0.0", "jshint": "^2.13.4", "jsonwebtoken": "^8.5.1", diff --git a/ui/Dockerfile b/ui/Dockerfile new file mode 100644 index 0000000..031a53d --- /dev/null +++ b/ui/Dockerfile @@ -0,0 +1,9 @@ +FROM node:16-alpine +RUN npm install -g http-server +WORKDIR /ui +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build +EXPOSE 8080 +CMD ["npm", "run", "serve"] \ No newline at end of file diff --git a/ui/vue.config.js b/ui/vue.config.js new file mode 100644 index 0000000..17c0cf1 --- /dev/null +++ b/ui/vue.config.js @@ -0,0 +1,5 @@ +module.exports = { + devServer: { + host: "0.0.0.0", + }, +};