diff --git a/config/custom-environment-variables.json b/config/custom-environment-variables.json new file mode 100644 index 0000000..f2d5f25 --- /dev/null +++ b/config/custom-environment-variables.json @@ -0,0 +1,9 @@ +{ + "App": { + "dbConfig": { + "url":"DATABASE_URL", + "dbName": "DATABASE_NAME", + "port": "DATABASE_PORT" + } + } +} diff --git a/config/database.js b/config/database.js index d6d499a..3bfdd5d 100644 --- a/config/database.js +++ b/config/database.js @@ -1,12 +1,15 @@ const mongoose = require('mongoose'); -const config = require('./environment'); +const config = require('config'); mongoose.Promise = Promise; +const dbConfig = config.get('App.dbConfig'); +const dbConnectionUrl = `${dbConfig.get('url')}:${dbConfig.get('port')}/${dbConfig.get('dbName')}`; + const mongodbUrl = config.mongodbUrl; -const connect = () => mongoose.connect(mongodbUrl, { - useMongoClient: true +const connect = () => mongoose.connect(dbConnectionUrl, { + useMongoClient: true }); module.exports = { diff --git a/config/default.json b/config/default.json new file mode 100644 index 0000000..5f59354 --- /dev/null +++ b/config/default.json @@ -0,0 +1,9 @@ +{ + "App": { + "dbConfig": { + "url":"mongodb://mongodb", + "dbName": "development", + "port": 27017 + } + } +} diff --git a/config/test.json b/config/test.json new file mode 100644 index 0000000..63e5221 --- /dev/null +++ b/config/test.json @@ -0,0 +1,7 @@ +{ + "App": { + "dbConfig": { + "dbName": "test" + } + } +} diff --git a/docker-compose.yml b/docker-compose.yml index 0aa8f0c..d352b18 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,6 +6,8 @@ services: environment: NODE_ENV: development tty: true + ports: + - 3000:3000 depends_on: - mongodb mongodb: diff --git a/package-lock.json b/package-lock.json index 828d64d..e73a403 100644 --- a/package-lock.json +++ b/package-lock.json @@ -689,6 +689,29 @@ "typedarray": "^0.0.6" } }, + "config": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/config/-/config-3.0.1.tgz", + "integrity": "sha512-TBNrrk2b6AybUohqXw2AydglFBL9b/+1GG93Di6Fm6x1SyVJ5PYgo+mqY2X0KpU9m0PJDSbFaC5H95utSphtLw==", + "requires": { + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, "configstore": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", diff --git a/package.json b/package.json index e348ef1..9e8f5d3 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "body-parser": "^1.18.0", "bunyan": "^1.8.12", "chai": "^4.1.2", + "config": "^3.0.1", "express": "^4.15.4", "mocha": "^3.5.3", "mongoose": "^4.11.11",