Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
28 changes: 28 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
module.exports = {
"env": {
"es6": true
},
"settings": {
"polyfills": [
]
},
"extends": ["ash-nazg/sauron", "plugin:node/recommended-script"],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"rules": {
"import/no-commonjs": 0,
"import/unambiguous": 0,
"object-curly-spacing": ["error", "always"],
"no-console": 0,
"compat/compat": 0,

// Reenable later as possible
"promise/prefer-await-to-callbacks": 0
}
};
115 changes: 78 additions & 37 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,54 +1,95 @@

/**
* Node.js Login Boilerplate
* More Info : https://github.com/braitsch/node-login
* Copyright (c) 2013-2018 Stephen Braitsch
* Node.js Login Boilerplate
* More Info : https://github.com/braitsch/node-login
* Copyright (c) 2013-2018 Stephen Braitsch
**/

var http = require('http');
var express = require('express');
var session = require('express-session');
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var MongoStore = require('connect-mongo')(session);
const http = require('http');
const { join } = require('path');
const express = require('express');
const session = require('express-session');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const MongoStore = require('connect-mongo')(session);
const stylus = require('stylus');
const commandLineArgs = require('command-line-args');

var app = express();
const app = express();

const optionDefinitions = [
{ name: 'NL_EMAIL_HOST', type: String },
{ name: 'NL_EMAIL_USER', type: String },
{ name: 'NL_EMAIL_PASS', type: String },
{ name: 'NL_EMAIL_FROM', alias: 'f', type: String },
{ name: 'NL_SITE_URL', type: String },
{ name: 'countries', alias: 'c', type: String },
{ name: 'PORT', type: Number },
{ name: 'DB_NAME', alias: 'n', type: String },
{ name: 'DB_HOST', alias: 'h', type: String },
{ name: 'DB_PORT', alias: 'p', type: Number },
{ name: 'DB_USER', alias: 'u', type: String },
{ name: 'DB_PASS', alias: 'x', type: String }
];
const options = commandLineArgs(optionDefinitions);

const {
NL_EMAIL_HOST,
NL_EMAIL_USER,
NL_EMAIL_PASS,
NL_EMAIL_FROM,
NL_SITE_URL,
DB_NAME = 'node-login',
// eslint-disable-next-line global-require
countries = require('./app/server/modules/country-list'),
PORT = 3000,
DB_HOST = 'localhost',
DB_PORT = 27017,
DB_USER,
DB_PASS
} = options;

app.locals.pretty = true;
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/app/server/views');
app.set('port', PORT);
app.set('views', join(__dirname, '/app/server/views'));
app.set('view engine', 'pug');
app.use(cookieParser());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(require('stylus').middleware({ src: __dirname + '/app/public' }));
app.use(express.static(__dirname + '/app/public'));

// build mongo database connection url //
app.use(stylus.middleware({ src: join(__dirname, '/app/public') }));
app.use(express.static(join(__dirname, '/app/public')));

process.env.DB_HOST = process.env.DB_HOST || 'localhost'
process.env.DB_PORT = process.env.DB_PORT || 27017;
process.env.DB_NAME = process.env.DB_NAME || 'node-login';

if (app.get('env') != 'live'){
process.env.DB_URL = 'mongodb://'+process.env.DB_HOST+':'+process.env.DB_PORT;
} else {
// prepend url with authentication credentials //
process.env.DB_URL = 'mongodb://'+process.env.DB_USER+':'+process.env.DB_PASS+'@'+process.env.DB_HOST+':'+process.env.DB_PORT;
let DB_URL;
// build mongo database connection url
if (app.get('env') !== 'live') {
DB_URL = `mongodb://${DB_HOST}:${DB_PORT}/${DB_NAME}`;
// prepend url with authentication credentials
} else {
DB_URL = `mongodb://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}`;
}

app.use(session({
secret: 'faeb4453e5d14fe6f6d04637f78077c76c73d1b4',
proxy: true,
resave: true,
saveUninitialized: true,
store: new MongoStore({ url: process.env.DB_URL })
})
);

require('./app/server/routes')(app);

http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
secret: 'faeb4453e5d14fe6f6d04637f78077c76c73d1b4',
proxy: true,
resave: true,
saveUninitialized: true,
store: new MongoStore({
url: DB_URL,
mongoOptions: { useUnifiedTopology: true, useNewUrlParser: true }
})
}));

require('./app/server/routes')(app, {
countries,
NL_EMAIL_HOST,
NL_EMAIL_USER,
NL_EMAIL_PASS,
NL_EMAIL_FROM,
NL_SITE_URL,
DB_URL,
DB_NAME
});

http.createServer(app).listen(app.get('port'), () => {
console.log('Express server listening on port ' + app.get('port'));
});
6 changes: 0 additions & 6 deletions app/public/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ h6 {
font-weight: normal;
text-shadow: -1px 1px 0 #fff;
}
/*
login window
*/
#login {
width: 380px;
}
Expand Down Expand Up @@ -103,9 +100,6 @@ h6 {
#account-form-container .form-buttons>:not(:last-child) {
margin-right: 0.5rem;
}
/*
modal windows
*/
.modal .modal-dialog {
width: 480px;
}
Expand Down
Loading