Skip to content

Commit ebe58b3

Browse files
committed
๐…๐ข๐ง๐š๐ฅ ๐•๐ž๐ซ๐ฌ๐ข๐จ๐ง ๐‹๐š๐ฎ๐ง๐œ๐ก
1 parent 4a4fd97 commit ebe58b3

File tree

391 files changed

+21211
-10984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

391 files changed

+21211
-10984
lines changed

โ€ŽDS_Store.txt

8 KB
Binary file not shown.

โ€Žapp.js

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,22 @@ const seedDB = require('./seedDB');
77
const methodOverride = require('method-override')
88
const productRoutes = require('./routes/products/product');
99
const reviewRoutes = require('./routes/reviews/review');
10+
const session = require('express-session');
11+
const passport = require('passport');
12+
const LocalStrategy = require('passport-local');
13+
const User = require('./models/user');
14+
const authRoutes = require('./routes/auth/auth');
15+
const cartRoutes = require('./routes/cart/cart');
1016

1117

1218

13-
mongoose.connect('mongodb://localhost:27017/shopping-cart', { useNewUrlParser: true, useUnifiedTopology: true})
19+
mongoose.connect('mongodb://localhost:27017/shopping-cart',
20+
{
21+
useNewUrlParser: true,
22+
useUnifiedTopology: true,
23+
useFindAndModify: false,
24+
useCreateIndex:true
25+
})
1426
.then(() => {
1527
console.log("Database Connected");
1628
})
@@ -24,22 +36,44 @@ app.set('view engine', 'ejs');
2436
app.set('views', path.join(__dirname, '/views'));
2537
app.use(express.urlencoded({ extended: true }));
2638
app.use(express.static(path.join(__dirname, 'public')));
27-
mongoose.set('useFindAndModify', false);
2839
app.use(methodOverride('_method'))
2940

3041

31-
//seedDB();
42+
app.use(session({
43+
secret: 'thisisnotagoodsecret',
44+
resave: false,
45+
saveUninitialized: true
46+
}))
47+
48+
49+
app.use(passport.initialize());
50+
app.use(passport.session());
51+
52+
53+
passport.use(new LocalStrategy(User.authenticate()));
54+
55+
passport.serializeUser(User.serializeUser());
56+
passport.deserializeUser(User.deserializeUser());
57+
58+
// seedDB();
3259

3360
app.get('/', (req, res) => {
3461
res.render('landingPage');
3562
})
3663

3764

65+
app.use((req, res, next) => {
66+
res.locals.currentUser = req.user;
67+
next();
68+
})
69+
3870
// Routes
3971

4072

4173
app.use(productRoutes);
4274
app.use(reviewRoutes);
75+
app.use(authRoutes);
76+
app.use(cartRoutes);
4377

4478

4579

โ€ŽimageStore.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
FUTURE WORK
3+
4+
1.multer is used as middleware to upload images
5+
2.Cloudinary
6+
3.Add Flash functionality to display pop up msg (package : connect-flash)

โ€Žmiddleware.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports.isLoggedIn = (req, res, next) => {
2+
3+
if (!req.isAuthenticated()) {
4+
console.log("You must login first");
5+
return res.redirect('/login');
6+
}
7+
next();
8+
}

โ€Žmodels/review.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ const reviewSchema = new mongoose.Schema({
1010
body: {
1111
type: String,
1212
required:true
13+
},
14+
username: {
15+
type: String,
16+
required:true
1317
}
1418
})
1519

โ€Žmodels/user.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const mongoose = require('mongoose');
2+
const passportLocalMongoose = require('passport-local-mongoose');
3+
const Product = require('./product');
4+
5+
const userSchema = new mongoose.Schema({
6+
7+
email: {
8+
type: String,
9+
required: true,
10+
unique: true,
11+
},
12+
cart: [
13+
{
14+
type: mongoose.Schema.Types.ObjectId,
15+
ref:'Product'
16+
}
17+
]
18+
19+
});
20+
21+
userSchema.plugin(passportLocalMongoose);
22+
module.exports = mongoose.model('User', userSchema);

โ€Žnode_modules/@types/mongodb/README.md

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

0 commit comments

Comments
ย (0)