Skip to content

Commit 2eb40a4

Browse files
committed
initial commit
0 parents  commit 2eb40a4

24 files changed

+5058
-0
lines changed

.DS_Store

6 KB
Binary file not shown.

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

README.md

Whitespace-only changes.

controllers/about.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default async (req, res) => {
2+
res.render('about');
3+
}

controllers/contact.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default async (req, res) => {
2+
res.render('contact');
3+
}

controllers/home.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import BlogPost from '../models/BlogPost.js';
2+
3+
export default async (req, res) => {
4+
const blogpost = await BlogPost.find({});
5+
res.render('index', {
6+
blogpost
7+
});
8+
}

controllers/newPost.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default async (req, res) => {
2+
res.render('create');
3+
}

controllers/storePost.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import BlogPost from "../models/BlogPost.js";
2+
3+
export default async (req, res) => {
4+
await BlogPost.create(req.body);
5+
res.redirect('/');
6+
}

index.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import express from "express";
2+
import mongoose from "mongoose";
3+
import bodyParser from "body-parser";
4+
5+
mongoose.connect("mongodb://localhost/newBlog");
6+
7+
const app = express();
8+
9+
app.set("view engine", "ejs");
10+
11+
// middleware
12+
app.use(express.static("public"));
13+
app.use(bodyParser.json());
14+
app.use(bodyParser.urlencoded({ extended: true }));
15+
16+
// routing
17+
import homeController from "./controllers/home.js";
18+
import aboutController from "./controllers/about.js";
19+
import contactController from "./controllers/contact.js";
20+
import newPostController from "./controllers/newPost.js";
21+
import storePostController from "./controllers/storePost.js";
22+
23+
app.get("/", homeController);
24+
app.get("/about", aboutController);
25+
app.get("/contact", contactController);
26+
app.get("/posts/new", newPostController);
27+
28+
app.post("/posts/store", storePostController);
29+
30+
const PORT = process.env.PORT || 3000;
31+
32+
app.listen(PORT, () => console.log(`server running on http://localhost:${PORT}`));

models/BlogPost.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import mongoose from "mongoose";
2+
3+
const Schema = mongoose.Schema;
4+
5+
const BlogPostSchema = new Schema({
6+
title: String,
7+
body: String,
8+
image: String,
9+
datePosted: {
10+
type: Date,
11+
default: new Date().toDateString()
12+
},
13+
user: {
14+
type: String,
15+
default: 'N/A',
16+
}
17+
});
18+
19+
const BlogPost = mongoose.model('BlogPost', BlogPostSchema);
20+
21+
export default BlogPost;

0 commit comments

Comments
 (0)