-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.js
49 lines (41 loc) · 1.73 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const express = require('express');
const routes = require('./controllers');
const session = require('express-session');
const { engine } = require('express-handlebars');
const flash = require('connect-flash');
//Need to update the conenction but this will import
const sequelize = require('./config/connection');
const initializePassport = require('./config/passport')
const userRoutes = require('./controllers/api/userRoutes')
const app = express();
const { User } = require('./models');
const PORT = process.env.PORT || 3001;
const coinRoutes = require('./controllers/api/coin')
const { passport, isAuthenticated } = require('./config/passport');
//Loads the handlebars module
//Sets handlebars configurations (we will go through them later on)
app.engine('handlebars', engine());
//Sets our app to use the handlebars engine
app.set('view engine', 'handlebars');
//points to the views directory to render the pages
app.set('views', './views');
//Middleware
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// serve up static assets
app.use(express.static('public'));
//Express Session Middleware
// need to replace secret with a secret key
app.use(session({ secret: process.env.TOP_SECRET_KEY, resave: true, saveUninitialized: true }));
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static('public'));
app.use('/api/user', userRoutes);
app.use(routes)
app.use('/api/coin', coinRoutes);
// sync sequelize models to the database, then turn on the server
// force false = true will drop the tables and then recreate them. Keep False unless you need to modify SQL
sequelize.sync({ force: false }).then(() => {
app.listen(PORT, () => console.log(`App is listen of the Port ${PORT}`));
})