Repository navigation
Expand file tree
/
Copy pathapp.js
More file actions
54 lines (46 loc) · 1.39 KB
/
Copy pathapp.js
File metadata and controls
54 lines (46 loc) · 1.39 KB
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
50
51
52
53
54
const express = require('express');
require('dotenv').config();
const mongoose = require('mongoose');
const Post = require('./models/post');
const methodOverride = require('method-override');
const ejs = require('ejs');
const postController = require('./controllers/postController');
const pageController = require('./controllers/pageController');
const app = express();
//TEMPLATE ENGINE
app.set('view engine', 'ejs');
//MIDDLEWARES
app.use(express.static('public'));
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
app.use(
methodOverride('_method', {
methods: ['POST', 'GET'],
})
);
//ROUTES
app.get('/', postController.getAllPosts);
app.get('/posts/:id', postController.getPost);
app.post('/add_post', postController.createPost);
app.put('/posts/:id', postController.updatePost);
app.delete('/posts/:id', postController.deletePost);
app.get('/posts/edit/:id', pageController.getEditPage);
app.get('/about', pageController.getAboutPage);
app.get('/add_post', pageController.getAddPage);
//404
app.get('*', (req, res) => {
res.send('<h1>404 NOT FOUND</h1>');
});
mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => {
console.log('DBCONN!');
app.listen(process.env.PORT, () => {
console.log(`Server is live on port ${process.env.PORT}`);
});
})
.catch((err) => {
console.log(err);
});