deem/server/server.js

60 lines
1.3 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')
// 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.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.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'))})`)
})