setup docker containers

This commit is contained in:
Lorenzo Iovino 2019-11-05 10:16:39 +01:00
parent 3274d47c94
commit 13d9a24d63
22 changed files with 1593 additions and 745 deletions

View file

@ -8,6 +8,7 @@
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
"integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==",
"dev": true,
"requires": {
"@types/connect": "*",
"@types/node": "*"
@ -16,7 +17,8 @@
"@types/node": {
"version": "12.6.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz",
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg=="
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==",
"dev": true
}
}
},
@ -24,21 +26,16 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.0.tgz",
"integrity": "sha512-pq/rqJwJWkbS10crsG5bgnrisL8pML79KlMKQMoQwLUjlPAkrUHMvHJ3oGwE7WHR61Lv/nadMwXVAD2b+fpD8Q==",
"dev": true,
"requires": {
"@types/node": "*"
},
"dependencies": {
"@types/node": {
"version": "12.6.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz",
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg=="
}
}
},
"@types/connect": {
"version": "3.4.32",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
"integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
"dev": true,
"requires": {
"@types/node": "*"
},
@ -46,7 +43,8 @@
"@types/node": {
"version": "12.6.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz",
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg=="
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==",
"dev": true
}
}
},
@ -60,6 +58,7 @@
"version": "4.17.0",
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.0.tgz",
"integrity": "sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw==",
"dev": true,
"requires": {
"@types/body-parser": "*",
"@types/express-serve-static-core": "*",
@ -70,6 +69,7 @@
"version": "4.16.7",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.7.tgz",
"integrity": "sha512-847KvL8Q1y3TtFLRTXcVakErLJQgdpFSaq+k043xefz9raEf0C7HalpSY7OW5PyjCnY8P7bPW5t/Co9qqp+USg==",
"dev": true,
"requires": {
"@types/node": "*",
"@types/range-parser": "*"
@ -78,45 +78,35 @@
"@types/node": {
"version": "12.6.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz",
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg=="
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==",
"dev": true
}
}
},
"@types/mime": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz",
"integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw=="
"integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==",
"dev": true
},
"@types/mongodb": {
"version": "3.1.28",
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.1.28.tgz",
"integrity": "sha512-tG+QqJ/hir2p0069ee28t2O9tlGRJKDq1WFZC2QYMlU47LGdldLL8tepfTq6aFLvP58OpwSoxaJ/qjW93ob1NQ==",
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.3.8.tgz",
"integrity": "sha512-hsLcKRBFVeam4FyJOU6bwklvsNHzmUBI5SIxQ2meZu+RZgTDzrv+W19YAHgDIuiTn6UqHrVolweLMk0RpKEbxg==",
"dev": true,
"requires": {
"@types/bson": "*",
"@types/node": "*"
},
"dependencies": {
"@types/node": {
"version": "12.6.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz",
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg=="
}
}
},
"@types/mongoose": {
"version": "5.5.9",
"resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.5.9.tgz",
"integrity": "sha512-KVM8yWVGPc2XD8iov+VzMq/3vyzJ3kqQuiZOJOe3VTVW+U7R4bk5lDfRFvqnnPpQ/pvMPSn6xVVnuYaMUKhZSg==",
"version": "5.5.29",
"resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.5.29.tgz",
"integrity": "sha512-bIlJfCIg/pPhORc35hGs14gmDjPLIPffcs20UgMZFB8bw0WPIAkDRTZJlBLpuZ0UgHTOOxcSt56exkUv7f/1Yw==",
"dev": true,
"requires": {
"@types/mongodb": "*",
"@types/node": "*"
},
"dependencies": {
"@types/node": {
"version": "12.6.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz",
"integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg=="
}
}
},
"@types/node": {
@ -128,12 +118,14 @@
"@types/range-parser": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==",
"dev": true
},
"@types/serve-static": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz",
"integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==",
"dev": true,
"requires": {
"@types/express-serve-static-core": "*",
"@types/mime": "*"
@ -2142,18 +2134,9 @@
}
},
"mongodb": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.2.7.tgz",
"integrity": "sha512-2YdWrdf1PJgxcCrT1tWoL6nHuk6hCxhddAAaEh8QJL231ci4+P9FLyqopbTm2Z2sAU6mhCri+wd9r1hOcHdoMw==",
"requires": {
"mongodb-core": "3.2.7",
"safe-buffer": "^5.1.2"
}
},
"mongodb-core": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.2.7.tgz",
"integrity": "sha512-WypKdLxFNPOH/Jy6i9z47IjG2wIldA54iDZBmHMINcgKOUcWJh8og+Wix76oGd7EyYkHJKssQ2FAOw5Su/n4XQ==",
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.3.tgz",
"integrity": "sha512-MdRnoOjstmnrKJsK8PY0PjP6fyF/SBS4R8coxmhsfEU7tQ46/J6j+aSHF2n4c2/H8B+Hc/Klbfp8vggZfI0mmA==",
"requires": {
"bson": "^1.1.1",
"require_optional": "^1.0.1",
@ -2162,13 +2145,13 @@
}
},
"mongoose": {
"version": "5.7.5",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.5.tgz",
"integrity": "sha512-BZ4FxtnbTurc/wcm/hLltLdI4IDxo4nsE0D9q58YymTdZwreNzwO62CcjVtaHhmr8HmJtOInp2W/T12FZaMf8g==",
"version": "5.7.7",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.7.tgz",
"integrity": "sha512-FU59waB4LKBa9KOnqBUcCcMIVRc09TFo1F8nMxrzSiIWATaJpjxxSSH5FBVUDxQfNdJLfg9uFHxaTxhhwjsZOQ==",
"requires": {
"bson": "~1.1.1",
"kareem": "2.3.1",
"mongodb": "3.3.2",
"mongodb": "3.3.3",
"mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.6.0",
"mquery": "3.2.2",
@ -2180,13 +2163,14 @@
},
"dependencies": {
"mongodb": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.2.tgz",
"integrity": "sha512-fqJt3iywelk4yKu/lfwQg163Bjpo5zDKhXiohycvon4iQHbrfflSAz9AIlRE6496Pm/dQKQK5bMigdVo2s6gBg==",
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.3.tgz",
"integrity": "sha512-MdRnoOjstmnrKJsK8PY0PjP6fyF/SBS4R8coxmhsfEU7tQ46/J6j+aSHF2n4c2/H8B+Hc/Klbfp8vggZfI0mmA==",
"requires": {
"bson": "^1.1.1",
"require_optional": "^1.0.1",
"safe-buffer": "^5.1.2"
"safe-buffer": "^5.1.2",
"saslprep": "^1.0.0"
}
},
"ms": {

View file

@ -4,14 +4,12 @@
"description": "",
"main": "main.js",
"dependencies": {
"@types/express": "^4.16.1",
"@types/mongoose": "^5.3.27",
"body-parser": "^1.18.3",
"canvas": "^2.4.1",
"cors": "^2.8.5",
"express": "^4.16.4",
"mongodb": "^3.2.3",
"mongoose": "^5.7.5",
"mongodb": "^3.3.3",
"mongoose": "^5.7.7",
"nodemon": "^1.18.10",
"query-string-parser": "^0.2.3",
"ws": "^6.2.1"
@ -19,16 +17,17 @@
"devDependencies": {
"@types/node": "^11.13.0",
"@types/ws": "^6.0.1",
"@types/express": "^4.16.1",
"@types/mongoose": "^5.5.29",
"ts-node": "^8.0.3",
"typescript": "^3.4.2",
"typescript-eslint-parser": "^22.0.0"
},
"scripts": {
"build:ws": "tsc -w",
"dev:ws": "ts-node src/predictor-web-service/main.ts",
"dev:imageCreator": "ts-node src/image-creator/main.ts",
"start:ws": "nodemon ./dist/main.js",
"prod:ws": "npm run build:ws && npm run start:ws"
"build-ws:prod": "tsc",
"build-ws:watch": "tsc -w",
"start-ws": "ts-node src/predictor-web-service/main.ts",
"start-imageCreator": "ts-node src/image-creator/main.ts"
},
"author": "",
"license": "ISC"

View file

@ -1,4 +1,4 @@
import {Data} from "../../../../DataGatherer/src/shared/Data";
import {Data} from "../../../../Shared/Data";
import {createCanvas, Image} from "canvas";
import fs from "fs";
import mongoose from "mongoose";

View file

@ -3,7 +3,7 @@ import * as WebSocket from 'ws';
import * as http from 'http';
import cors from 'cors';
import * as bodyParser from "body-parser";
import {Data} from "../../../../DataGatherer/src/shared/Data";
import {Data} from "../../../../Shared/Data";
import parser from 'query-string-parser';
import mongoose from "mongoose";
import {DataSchema} from './models/Data';
@ -16,7 +16,7 @@ export class PredictorWebService {
private app: express.Application;
private httpServer: http.Server;
private wss: WebSocket.Server;
private mongoEndpoint = 'mongodb://localhost:27017/predictorDatas';
private mongoEndpoint = 'mongodb://ups_database:27017/predictorDatas';
private counter: number = 0;
@ -25,7 +25,7 @@ export class PredictorWebService {
this.portApi = portApi;
this.portWebSocket = portWebSocket;
mongoose.Promise = global.Promise;
mongoose.connect(this.mongoEndpoint, { useNewUrlParser: true },
mongoose.connect(this.mongoEndpoint, { useNewUrlParser: true, useUnifiedTopology: true },
err => {
if (err) {
console.log(err);

View file

@ -1,7 +1,7 @@
import { PredictorWebService } from "./PredictorWebService";
function main() {
const predictorWebService = new PredictorWebService('/', 4000, 4100);
const predictorWebService = new PredictorWebService('/', 8002, 8001);
}

View file

@ -1,5 +1,5 @@
import mongoose from "mongoose";
import {Data} from "../../../../../DataGatherer/src/shared/Data";
import {Data} from "../../../../../Shared/Data";
import {Schema} from "mongoose";
const DataSchema_:Schema = new Schema(