From 302d6abbde12900189b452a025e67a8d78ddf597 Mon Sep 17 00:00:00 2001 From: Dario Genga Date: Tue, 3 Dec 2019 00:18:04 +0100 Subject: [PATCH] Add dotenv module to manage environment variables --- .idea/FE_Charts.iml | 12 ++++ .idea/codeStyles/Project.xml | 28 ++++++++ .idea/dataSources.xml | 11 +++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 ++ README.md | 6 ++ server/.env-example | 5 ++ server/dist/Sequelize.js | 11 +++ server/dist/Sequelize.js.map | 1 + server/dist/index.js | 4 +- server/dist/index.js.map | 2 +- server/dist/mapping.js | 6 ++ server/dist/mapping.js.map | 1 + server/package-lock.json | 133 +++++++++++++++++++++++++++++++++++ server/package.json | 2 + server/src/Sequelize.ts | 12 ++++ server/src/index.ts | 7 +- server/src/mapping.ts | 4 ++ 19 files changed, 261 insertions(+), 4 deletions(-) create mode 100644 .idea/FE_Charts.iml create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/dataSources.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 server/.env-example create mode 100644 server/dist/Sequelize.js create mode 100644 server/dist/Sequelize.js.map create mode 100644 server/dist/mapping.js create mode 100644 server/dist/mapping.js.map create mode 100644 server/src/Sequelize.ts create mode 100644 server/src/mapping.ts diff --git a/.idea/FE_Charts.iml b/.idea/FE_Charts.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/FE_Charts.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..3cdc6ae --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..cb41e24 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,11 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/fe_charts + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..28a804d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8bd83d7 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index c3c0e59..4719573 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # FE_Charts Fire Emblem Charts is a mobile application that allows you to view the statistics of the characters in the game Fire Emblem Three Houses in the form of graphics. + +## Setup the server + +Copy the `.env-example` file and rename it to `.env`, then set the value of each variables corresponding to your environments. + +Install the dependencies with `npm install`, then run the server with `npm start` \ No newline at end of file diff --git a/server/.env-example b/server/.env-example new file mode 100644 index 0000000..d1d33fb --- /dev/null +++ b/server/.env-example @@ -0,0 +1,5 @@ +NODE_PORT= +DB_HOST= +DB_NAME= +DB_USER= +DB_PASSWORD= \ No newline at end of file diff --git a/server/dist/Sequelize.js b/server/dist/Sequelize.js new file mode 100644 index 0000000..fd41a12 --- /dev/null +++ b/server/dist/Sequelize.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const sequelize_1 = require("sequelize"); +exports.Model = sequelize_1.Model; +exports.DataTypes = sequelize_1.DataTypes; +const sequelize = new sequelize_1.Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASSWORD, { + host: process.env.DB_HOST, + dialect: "mysql", +}); +exports.sequelize = sequelize; +//# sourceMappingURL=Sequelize.js.map \ No newline at end of file diff --git a/server/dist/Sequelize.js.map b/server/dist/Sequelize.js.map new file mode 100644 index 0000000..bfb884e --- /dev/null +++ b/server/dist/Sequelize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Sequelize.js","sourceRoot":"","sources":["../src/Sequelize.ts"],"names":[],"mappings":";;AAAA,yCAAsD;AAWnC,gBAXA,iBAAK,CAWA;AAAE,oBAXA,qBAAS,CAWA;AATnC,MAAM,SAAS,GAAG,IAAI,qBAAS,CAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,EACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EACnB,OAAO,CAAC,GAAG,CAAC,WAAW,EACvB;IACI,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;IACzB,OAAO,EAAE,OAAO;CACnB,CAAC,CAAC;AAEC,8BAAS"} \ No newline at end of file diff --git a/server/dist/index.js b/server/dist/index.js index 6fb4ab5..13b63fc 100644 --- a/server/dist/index.js +++ b/server/dist/index.js @@ -1,9 +1,11 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +require("dotenv").config(); const express = require("express"); const bodyParser = require("body-parser"); +require("./mapping"); const app = express(); -const port = 3000; +const port = process.env.NODE_PORT || 3000; app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(function (req, res, next) { diff --git a/server/dist/index.js.map b/server/dist/index.js.map index 3d9e260..58e61a0 100644 --- a/server/dist/index.js.map +++ b/server/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AACnC,0CAA0C;AAG1C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,IAAI,CAAA;AAEjB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;AAClD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAE3B,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI;IAC5B,mCAAmC;IACnC,uDAAuD;IACvD,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,gDAAgD,CAAC,CAAC;IAC7F,IAAI,EAAE,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAA;AACzD,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3B,mCAAmC;AACnC,0CAA0C;AAG1C,OAAO,CAAC,WAAW,CAAC,CAAC;AAErB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC;AAE3C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;AAClD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAE3B,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI;IAC5B,mCAAmC;IACnC,uDAAuD;IACvD,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,gDAAgD,CAAC,CAAC;IAC7F,IAAI,EAAE,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/server/dist/mapping.js b/server/dist/mapping.js new file mode 100644 index 0000000..35a7682 --- /dev/null +++ b/server/dist/mapping.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Sequelize_1 = require("./Sequelize"); +// Create tables if not exists +Sequelize_1.sequelize.sync(); +//# sourceMappingURL=mapping.js.map \ No newline at end of file diff --git a/server/dist/mapping.js.map b/server/dist/mapping.js.map new file mode 100644 index 0000000..69c97d1 --- /dev/null +++ b/server/dist/mapping.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AAEtC,8BAA8B;AAC9B,qBAAS,CAAC,IAAI,EAAE,CAAC"} \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json index 5b1e49b..b0e0f58 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -73,6 +73,11 @@ "negotiator": "0.6.2" } }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" + }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -125,6 +130,15 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, "cls-bluebird": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", @@ -165,6 +179,11 @@ "ms": "^2.1.1" } }, + "denque": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz", + "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==" + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -175,6 +194,11 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, "dottie": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.1.tgz", @@ -195,6 +219,11 @@ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -291,6 +320,14 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "requires": { + "is-property": "^1.0.2" + } + }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -336,11 +373,29 @@ "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=" }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -392,6 +447,56 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "mysql2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.0.1.tgz", + "integrity": "sha512-GbiolYnRPPgbkgI1Cbkkr15MvjBVcpbOsm5qBURhlNuokGkNUOv2I/ZYzKap7yirCf4zzyCUJ+qK6ZSWsr1m4A==", + "requires": { + "cardinal": "^2.1.1", + "denque": "^1.4.1", + "generate-function": "^2.3.1", + "iconv-lite": "^0.5.0", + "long": "^4.0.0", + "lru-cache": "^5.1.1", + "named-placeholders": "^1.1.2", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.1" + }, + "dependencies": { + "iconv-lite": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz", + "integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "named-placeholders": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", + "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", + "requires": { + "lru-cache": "^4.1.3" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -424,6 +529,11 @@ "ipaddr.js": "1.9.0" } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", @@ -445,6 +555,14 @@ "unpipe": "1.0.0" } }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", + "requires": { + "esprima": "~4.0.0" + } + }, "retry-as-promised": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz", @@ -510,6 +628,11 @@ } } }, + "seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" + }, "sequelize": { "version": "5.21.2", "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.2.tgz", @@ -558,6 +681,11 @@ "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" }, + "sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" + }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -620,6 +748,11 @@ "requires": { "@types/node": "*" } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } } diff --git a/server/package.json b/server/package.json index 7a72e94..6924a88 100644 --- a/server/package.json +++ b/server/package.json @@ -25,8 +25,10 @@ "homepage": "https://github.com/dario-cfpt/FE_Charts#readme", "dependencies": { "@types/express": "^4.17.2", + "dotenv": "^8.2.0", "express": "^4.17.1", "http-status": "^1.4.1", + "mysql2": "^2.0.1", "sequelize": "^5.21.2" }, "devDependencies": { diff --git a/server/src/Sequelize.ts b/server/src/Sequelize.ts new file mode 100644 index 0000000..f4aeffa --- /dev/null +++ b/server/src/Sequelize.ts @@ -0,0 +1,12 @@ +import {Sequelize, Model, DataTypes} from 'sequelize'; + +const sequelize = new Sequelize( + process.env.DB_NAME, + process.env.DB_USER, + process.env.DB_PASSWORD, + { + host: process.env.DB_HOST, + dialect: "mysql", + }); + +export {sequelize, Model, DataTypes}; \ No newline at end of file diff --git a/server/src/index.ts b/server/src/index.ts index 5c1d6a6..c1c72ff 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -1,9 +1,12 @@ +require("dotenv").config(); import * as express from "express"; import * as bodyParser from "body-parser"; import * as status from "http-status"; +require("./mapping"); + const app = express(); -const port = 3000 +const port = process.env.NODE_PORT || 3000; app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); @@ -21,5 +24,5 @@ app.get('/', (req, res) => { }); app.listen(port, () => { - console.log(`Example app listening on port ${port}!`) + console.log(`Example app listening on port ${port}!`); }); diff --git a/server/src/mapping.ts b/server/src/mapping.ts new file mode 100644 index 0000000..299f6c7 --- /dev/null +++ b/server/src/mapping.ts @@ -0,0 +1,4 @@ +import {sequelize} from "./Sequelize"; + +// Create tables if not exists +sequelize.sync();