deem/server/server.js
2018-03-13 17:29:56 +02:00

74 lines
1.6 KiB
JavaScript

'use strict'
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
// modules > native
const path = require('path')
// modules > 3rd party
const express = require('express')
const bodyParser = require('body-parser')
const chalk = require('chalk')
const pg = require('pg')
// initialize an pg instance
const pgConnection = "postgres://postgres:postgres@localhost:5432/books"
// initialize an express instance
const server = express()
const goodreads = require('./api/goodreads')
// set template engine
server.set('view engine', 'ejs')
server.set('views', path.join(__dirname, 'templates'))
server.use('/public', express.static('public'))
// set up console logs in dev mode
if (process.env.NODE_ENV !== 'production') {
const morgan = require('morgan')
server.use(morgan('dev'))
}
server.use(bodyParser.json())
server.use(bodyParser.urlencoded({ extended: true }))
// server routes
server.get('/', (req, res, next) => {
res.render('index')
})
server.get('/search', (req, res, next) => {
res.render('search')
})
server.get('/result', (req, res, next) => {
goodreads.search().then((result) => {
res.locals.result = result
res.render('result')
})
})
server.post('/search', (req, res, next) => {
console.log(req.body)
res.status(200).redirect('/result')
})
server.post('/login', (req, res, next) => {
console.log(req.body)
})
// server.use('/', (req, res, next) => {
// console.log('hello')
// res.send('<h1>Hello</h1>')
// })
const port = process.env.PORT || 1337
server.listen(port, () => {
console.info(`[${chalk.cyan('INIT')}] HTTP Server listening on port ${chalk.magenta(port)} (${chalk.yellow(server.get('env'))})`)
})