Skip to content

Commit 754876a

Browse files
committed
final commit
1 parent dd123c7 commit 754876a

Some content is hidden

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

98 files changed

+24923
-0
lines changed

Diff for: backend/extract.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import * as cheerio from 'cheerio';
2+
async function performScraping(stateInfo) {
3+
let data = [];
4+
const url = `https://vegetablemarketprice.com/market/${stateInfo}/today`;
5+
const response = await fetch(url);
6+
const body = await response.text()
7+
const $ = cheerio.load(body);
8+
console.log("vegetable names");
9+
$('tr').each((_, e) => {
10+
let _1 = $(e).find('td:nth-child(2)').text().replace(/(\s+)/g, ' ');
11+
let _2 = $(e).find('td:nth-child(3)').text().replace(/(\s+)/g, ' ');
12+
let _3 = $(e).find('td:nth-child(4)').text().replace(/(\s+)/g, ' ');
13+
let _4 = $(e).find('td:nth-child(5)').text().replace(/(\s+)/g, ' ');
14+
let _5 = $(e).find('td:nth-child(6)').text().replace(/(\s+)/g, ' ');
15+
data.push({
16+
vegetable_names: _1,
17+
wholesale_price: _2,
18+
retail_price: _3,
19+
shoppingmall_price: _4,
20+
units: _5
21+
});
22+
});
23+
return data;
24+
}
25+
export async function main(stateInfo) {
26+
let data = await performScraping(stateInfo);
27+
return data;
28+
}

Diff for: backend/middleware.js

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
const jwt = require('jsonwebtoken')
2+
var cookies = require("cookie-parser");
3+
4+
5+
// let jwt_secret = "https://jwt.io/#debugger-io?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ"
6+
let jwt_secret = "hello";
7+
exports.requireSignin = (req, res, next) => {
8+
// console.log(req)
9+
// console.log("Inside require sign in ", req.headers.authorization)
10+
// if (req.headers.authorization) {
11+
// console.log("Header Verification")
12+
// // console.log("Request is : ",req.body)
13+
console.log('farmer:', req.user);
14+
const token = req.headers.authorization.split(" ")[1];
15+
console.log("token", req.headers.authorization);
16+
try {
17+
const user = jwt.verify(token, jwt_secret);
18+
console.log("under Try");
19+
console.log(user);
20+
21+
req.role = 'farmer';
22+
req.user = user;
23+
next();
24+
}
25+
catch (err) {
26+
console.log("rejected!!!");
27+
res.clearCookie("token");
28+
return res.redirect('/');
29+
30+
}
31+
}
32+
33+
exports.userMiddleware = (req, res, next) => {
34+
console.log("Inside usermiddleware");
35+
console.log("Username is:", req.role);
36+
if (req.role != "farmer") {
37+
return res.status(400).json({ message: "Access Denied" })
38+
}
39+
next()
40+
}
41+

Diff for: backend/models/farmerRegister.js

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
const mongoose = require('mongoose');
2+
3+
const Schema = mongoose.Schema;
4+
5+
const RegisterSchema = new Schema({
6+
firstname: {
7+
type: String,
8+
required: true,
9+
index: {
10+
sparse: true
11+
}
12+
},
13+
lastname: {
14+
type: String,
15+
index: {
16+
sparse: true
17+
}
18+
},
19+
phonenumber: {
20+
type: Number,
21+
required: true,
22+
index: {
23+
sparse: true
24+
}
25+
},
26+
email: {
27+
type: String,
28+
required: true,
29+
index: {
30+
sparse: true
31+
}
32+
},
33+
password: {
34+
type: String,
35+
required: true,
36+
index: {
37+
sparse: true
38+
}
39+
},
40+
farmerId: {
41+
type: Number,
42+
required: true,
43+
index: {
44+
sparse: true
45+
}
46+
}
47+
});
48+
49+
const FarmerRegister = mongoose.model('FarmerRegister', RegisterSchema);
50+
51+
module.exports = FarmerRegister;

Diff for: backend/models/postItem.js

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
const mongoose = require("mongoose");
2+
3+
const Schema = mongoose.Schema;
4+
const ItemSchema = new Schema(
5+
{
6+
itemname: {
7+
type: String,
8+
required: true,
9+
index: {
10+
sparse: true
11+
}
12+
},
13+
itemtype: {
14+
type: String,
15+
required: true,
16+
index: {
17+
sparse: true
18+
}
19+
},
20+
itemPictures: [{ img: { type: String, required: false } }],
21+
price: {
22+
type: Number,
23+
required: true,
24+
index: {
25+
sparse: true
26+
}
27+
},
28+
availableQuantity: {
29+
type: Number,
30+
required: true,
31+
index: {
32+
sparse: true
33+
}
34+
},
35+
createdBy: {
36+
type: mongoose.Schema.Types.ObjectId,
37+
ref: "RegisterSchema",
38+
required: true,
39+
index: {
40+
sparse: true
41+
}
42+
},
43+
createdAt: {
44+
type: Date
45+
},
46+
updatedAt: {
47+
type: Date
48+
}
49+
},
50+
{
51+
timestamps: {
52+
currentTime: () => Date.now()
53+
},
54+
}
55+
);
56+
57+
const PostItem = mongoose.model("PostItem", ItemSchema);
58+
module.exports = PostItem;

Diff for: backend/models/userRegister.js

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
const mongoose = require('mongoose');
2+
3+
const Schema = mongoose.Schema;
4+
const RegisterSchema = new Schema({
5+
firstname: {
6+
type: String,
7+
required: true,
8+
index: {
9+
sparse: true
10+
}
11+
},
12+
lastname: {
13+
type: String,
14+
required: true,
15+
index: {
16+
sparse: true
17+
}
18+
},
19+
phonenumber: {
20+
type: Number,
21+
required: true,
22+
index: {
23+
sparse: true
24+
}
25+
},
26+
email: {
27+
type: String,
28+
required: true,
29+
index: {
30+
sparse: true
31+
}
32+
},
33+
password: {
34+
type: String,
35+
required: true,
36+
index: {
37+
sparse: true
38+
}
39+
},
40+
});
41+
42+
const UserRegister = mongoose.model('UserRegister', RegisterSchema);
43+
44+
module.exports = UserRegister;

0 commit comments

Comments
 (0)