Merge branch 'master' of https://github.com/whitef0x0/tellform into stage

This commit is contained in:
David Baldwynn 2017-03-30 11:19:35 -07:00
commit c5a629240e
No known key found for this signature in database
GPG key ID: 15D1C13202224A9B
7 changed files with 118 additions and 14 deletions

View file

@ -3,5 +3,45 @@
"description": "Beautiful, opensource web forms",
"repository": "https://github.com/whitef0x0/tellform",
"logo": "https://node-js-sample.herokuapp.com/node.svg",
"keywords": ["node", "express", "static", "mean"]
"addons": ["mongolab", "sparkpost"],
"keywords": ["node", "express", "static", "mean"],
"env": {
"IS_HEROKU_INSTALLATION": {
"value": "TRUE"
},
"SUBDOMAINS_DISABLED": {
"description": "Disable subdomains for user forms",
"value": "TRUE"
},
"BASE_URL": {
"description": "Set this to your heroku app's URL",
"required": true
},
"NODE_ENV": {
"description": "Specify whether to run development or production version of the app",
"value": "production",
"required": true
},
"MAILER_SERVICE_PROVIDER": {
"description": "Which mailer provider are you using? (i.e. SparkPost, Mandrill, etc)",
"value": "Sparkpost",
"required": true
},
"ADMIN_EMAIL": {
"description": "Email of the default admin account",
"required": true
},
"ADMIN_USERNAME": {
"description": "Username of the default admin account",
"required": true
},
"ADMIN_PASSWORD": {
"description": "Password of the default admin account",
"required": true
}
},
"scripts": {
"predeploy": "grunt build",
"postdeploy": "node scripts/create_admin.js"
}
}

View file

@ -46,8 +46,9 @@
},
"resolutions": {
"angular-bootstrap": "^0.14.0",
"angular": "1.4.12",
"angular-ui-select": "compiled"
"angular": "1.4.14",
"angular-ui-select": "compiled",
"jspdf": "~1.0.178"
},
"overrides": {
"BOWER-PACKAGE": {

View file

@ -1,9 +1,9 @@
'use strict';
module.exports = {
baseUrl: process.env.BASE_URL || 'tellform.com',
baseUrl: process.env.BASE_URL || process.env.HEROKU_APP_NAME + '.herokuapp.com' || 'tellform.com',
db: {
uri: process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/mean',
uri: process.env.MONGODB_URI || process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/mean',
},
port: process.env.PORT || 5000,
socketUrl: process.env.SOCKET_URL || 'ws.tellform.com',
@ -51,16 +51,16 @@ module.exports = {
callbackURL: '/auth/github/callback'
},
mailer: {
from: process.env.MAILER_FROM || 'no-reply@tellform.com',
from: process.env.MAILER_FROM || 'testing@' + process.env.SPARKPOST_SANDBOX_DOMAIN || 'no-reply@tellform.com',
options: {
service: process.env.MAILER_SERVICE_PROVIDER || '',
ssl: false,
/*ssl: false,
host: 'smtp.sparkpostmail.com',
port: 587,
secure: false,
secure: false,*/
auth: {
user: process.env.MAILER_EMAIL_ID || '',
pass: process.env.MAILER_PASSWORD || ''
user: process.env.SPARKPOST_SMTP_USERNAME || process.env.MAILER_EMAIL_ID || '',
pass: process.env.SPARKPOST_SMTP_PASSWORD || process.env.MAILER_PASSWORD || ''
}
}
}

View file

@ -11,9 +11,10 @@ module.exports = function (app, db) {
var server = http.createServer(app);
var io = socketio(config.socketPort, { transports: ['websocket', 'polling'] });
var redis = require('socket.io-redis');
io.adapter(redis( process.env.REDIS_URL || { host: process.env.REDIS_DB_PORT_6379_TCP_ADDR || '127.0.0.1' , port: process.env.REDIS_DB_PORT_6379_TCP_PORT || 6379 }));
if(process.env.IS_HEROKU_INSTALLATION !== "TRUE"){
var redis = require('socket.io-redis');
io.adapter(redis( process.env.REDIS_URL || { host: process.env.REDIS_DB_PORT_6379_TCP_ADDR || '127.0.0.1' , port: process.env.REDIS_DB_PORT_6379_TCP_PORT || 6379 }));
}
// Add an event listener to the 'connection' event
io.on('connection', function (socket) {
config.getGlobbedFiles('./app/sockets/**.js').forEach(function (socketConfiguration) {

View file

@ -23,6 +23,8 @@
"init": "node scripts/setup.js"
},
"dependencies": {
"multer": "^1.3.0",
"glob": "^7.0.3",
"async": "^1.4.2",
"async-boolean-expression-evaluator": "^1.1.1",
"bcrypt": "^0.8.7",
@ -97,7 +99,6 @@
"coveralls": "^2.11.4",
"cross-spawn": "^5.0.0",
"del": "^2.2.2",
"glob": "^7.0.3",
"grunt-execute": "^0.2.2",
"grunt-mocha-istanbul": "^3.0.1",
"grunt-mocha-test": "~0.12.1",

50
scripts/create_admin.js Normal file
View file

@ -0,0 +1,50 @@
var init = require('../config/init')(),
config = require('../config/config'),
mongoose = require('mongoose'),
chalk = require('chalk'),
fs = require('fs-extra');
// Bootstrap db connection
var db = mongoose.connect(config.db.uri, config.db.options, function(err) {
if (err) {
console.error(chalk.red('Could not connect to MongoDB!'));
console.log(chalk.red(err));
}
});
mongoose.connection.on('error', function(err) {
console.error(chalk.red('MongoDB connection error: ' + err));
process.exit(-1);
});
// Init the express application
var app = require('../config/express')(db);
// Bootstrap passport config
require('../config/passport')();
var User = mongoose.model('User');
require('../app/models/user.server.model.js');
var email = process.env.ADMIN_EMAIL;
var username = process.env.ADMIN_USERNAME;
var password = process.env.ADMIN_PASSWORD;
user = new User({
firstName: 'Admin',
lastName: 'Account',
email: email,
username: username,
password: password,
provider: 'local',
roles: ['admin', 'user']
});
user.save(function (err) {
if (err) return console.error(chalk.red(err));
console.log(chalk.green('Successfully created user'));
delete email;
delete password;
delete username;
process.exit(1);
});

View file

@ -70,6 +70,11 @@ var nodemailer_providers = [
'Zoho'
];
var bool_options = [
"TRUE",
"FALSE"
]
var questions = [
{
type: 'confirm',
@ -97,6 +102,12 @@ var questions = [
message: 'Do you want to disable signups?',
default: false
},
{
type: 'list',
name: 'SUBDOMAINS_DISABLED',
message: 'Do you want to have subdomains? (i.e. are you using a custom domain)',
choices: bool_options
},
{
type: 'list',
name: 'MAILER_SERVICE_PROVIDER',