blob: 57ee9b7cc26d766e5d82a334dd3d7a8444694622 (
plain) (
blame)
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
|
const express = require('express');
const mongoose = require('mongoose');
const TodoItem = require('./models/todoItem');
require('dotenv').config(); // for global var things like mongodb uri
const app = express();
// connect to db
mongoose.connect(process.env.MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true })
.then(console.log('Connected to MongoDB database.'))
.catch(err => console.log(err));
// set view engine as ejs
app.set('view engine', 'ejs');
app.use(express.urlencoded({ extended: false })); // only here so it can work
// index
app.get('/', async (req, res) => {
const todoItems = await TodoItem.find();
res.render('index', { todoItems: todoItems });
});
// if 404, redir to root
app.get('*', (req, res) => {
res.redirect('/');
});
// create new db entry on post
app.post('/todoItems', async (req, res) => {
await TodoItem.create({ _id: mongoose.Types.ObjectId(), item: req.body.todoItem, date: new Date() });
res.redirect('/');
});
app.listen(process.env.PORT || 1337);
console.log(`Listening on port ${process.env.PORT}.`); // honestly have no idea why it says port as undefined fix this when u feel like it )
|