Skip to content

Commit 4a4fd97

Browse files
committed
𝐒𝐑𝐨𝐩𝐩𝐒𝐧𝐠 π°πžπ›π¬π’π­πž 𝐯𝐞𝐫𝐬𝐒𝐨𝐧 𝟐
1 parent eaf4495 commit 4a4fd97

36 files changed

+2658
-60
lines changed

β€Žapp.js

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,47 @@ const express = require('express');
22
const app = express();
33
const mongoose = require('mongoose');
44
const path = require('path');
5-
app.set('view engine', 'ejs');
6-
app.set('views', path.join(__dirname, '/views'));
7-
app.use(express.urlencoded({ extended: true }));
8-
app.use(express.static(path.join(__dirname, 'public')));
9-
mongoose.set('useFindAndModify', false);
105
const Product = require('./models/product');
116
const seedDB = require('./seedDB');
12-
7+
const methodOverride = require('method-override')
8+
const productRoutes = require('./routes/products/product');
9+
const reviewRoutes = require('./routes/reviews/review');
10+
1311

14-
mongoose.connect('mongodb://localhost:27017/shopApp', { useNewUrlParser: true, useUnifiedTopology: true})
12+
13+
mongoose.connect('mongodb://localhost:27017/shopping-cart', { useNewUrlParser: true, useUnifiedTopology: true})
1514
.then(() => {
16-
console.log("Connection Open");
15+
console.log("Database Connected");
1716
})
1817
.catch(err => {
1918
console.log("DB Not Connected");
2019
console.log(err);
2120
})
22-
23-
app.get('/', (req, res) => {
24-
res.send('<h1>Welcome to Shop App</h1>')
25-
})
2621

2722

28-
app.get('/products', async(req, res) => {
29-
const products = await Product.find({});
30-
res.render('products/index', { products: products });
31-
})
23+
app.set('view engine', 'ejs');
24+
app.set('views', path.join(__dirname, '/views'));
25+
app.use(express.urlencoded({ extended: true }));
26+
app.use(express.static(path.join(__dirname, 'public')));
27+
mongoose.set('useFindAndModify', false);
28+
app.use(methodOverride('_method'))
3229

33-
34-
app.listen(3000, () => {
35-
console.log("Server Running At port 3000");
36-
})
30+
31+
//seedDB();
32+
33+
app.get('/', (req, res) => {
34+
res.render('landingPage');
35+
})
36+
37+
38+
// Routes
39+
40+
41+
app.use(productRoutes);
42+
app.use(reviewRoutes);
43+
44+
45+
46+
app.listen(3000, () => {
47+
console.log("Server Running At port 3000");
48+
})

β€Žmodels/product.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const mongoose = require('mongoose');
2+
const Review = require('./review');
23

34
const productSchema = new mongoose.Schema({
45
name: {
@@ -15,7 +16,13 @@ const productSchema = new mongoose.Schema({
1516
desc: {
1617
type: String,
1718
minLength:10
18-
}
19+
},
20+
reviews: [
21+
{
22+
type: mongoose.Schema.Types.ObjectId,
23+
ref:'Review'
24+
}
25+
]
1926

2027
})
2128

β€Žmodels/review.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const mongoose = require('mongoose');
2+
3+
4+
5+
const reviewSchema = new mongoose.Schema({
6+
rating: {
7+
type: Number,
8+
min:0
9+
},
10+
body: {
11+
type: String,
12+
required:true
13+
}
14+
})
15+
16+
const Review = mongoose.model('Review', reviewSchema);
17+
18+
module.exports = Review;

β€Žnode_modules/method-override/HISTORY.md

Lines changed: 163 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Žnode_modules/method-override/LICENSE

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
Β (0)