const express = require('express'); // instantiate new express.js app const app = express(); const port = 3000; // initialize database connection (async () => { const db = require('./src/models'); await db.sequelize.sync({ alter: true }); })(); // set up body POST parameters app.use(express.json()); app.use(express.urlencoded({ extended: true })); // load the template engine app.set('view engine', 'twig'); // enable static file serving app.use(express.static('public')); // load route handlers const homeRoutes = require('./src/routes/home'); const itemRoutes = require('./src/routes/item'); // register route handlers app.get('/', homeRoutes.getIndex); app.get('/item/add', itemRoutes.getAdd); app.post('/item/add', itemRoutes.postAdd); app.get('/item/:id', itemRoutes.getItem); // start app app.listen(port, () => { console.log(`Example app listening on port ${port}`); });