const config = require('./config'); const express = require('express'); const bodyParser = require('body-parser'); const fs = require('fs'); const db = require('sqlite'); const app = express(); const routes = require('./routes'); const Promise = require('bluebird'); Promise.promisifyAll(fs); /** * Express app setup */ app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(express.static(__dirname + '/public')); app.set('view engine', 'pug'); /** * Express routes setup */ app.get('/', routes.getIndex); app.get('/stripe-connect', routes.getStripeCallback); app.post('/stripe-charge', routes.postStripeCharge); app.post('/stripe-immediate-charge', routes.postStripeImmediateCharge); app.post('/stripe-transfer', routes.postStripeTransfer); Promise.resolve() // First, try connect to the database .then(() => db.open('./database.sqlite', { Promise })) .then(() => db.migrate({ force: 'last' })) .catch(err => console.error(err.stack)) // Finally, launch Node.js app .finally(() => app.listen(config.port));