Skip to content

Commit cb288ab

Browse files
committed
Group 20 mid-eval commit
1 parent 5248a18 commit cb288ab

File tree

952 files changed

+133360
-0
lines changed

Some content is hidden

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

952 files changed

+133360
-0
lines changed

.DS_Store

8 KB
Binary file not shown.

Group_20/.DS_Store

6 KB
Binary file not shown.

Group_20/backend/.DS_Store

6 KB
Binary file not shown.

Group_20/backend/app.js

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
var createError = require('http-errors');
2+
var express = require('express');
3+
var path = require('path');
4+
var cookieParser = require('cookie-parser');
5+
var logger = require('morgan');
6+
var cors = require('cors')
7+
8+
var indexRouter = require('./routes/index');
9+
var usersRouter = require('./routes/user');
10+
var apiRouter = require('./routes/api');
11+
var adminRouter = require('./routes/admin');
12+
var restoRouter = require('./routes/restaurant');
13+
14+
var app = express();
15+
16+
17+
18+
const db = require('./models/database');
19+
db.setup()
20+
//db.insertUserProfile('hanimo','email@','firstname','lastname','phone','address');
21+
//db.deleteUser('hanimo')
22+
// db.insertUser('hani','password','[email protected]','2')
23+
// db.getUsers()
24+
// .then(resolve => {
25+
// console.log(resolve)
26+
// })
27+
// .catch(e => console.log(e));
28+
29+
// db.updateUserProfile('email',{
30+
// lastname:'mohammed',
31+
// firstname:'hani',
32+
// phone: '+919840794287'
33+
// })
34+
// db.deleteUserProfile('hani')
35+
36+
// view engine setup
37+
app.set('views', path.join(__dirname, 'views'));
38+
app.set('view engine', 'ejs');
39+
40+
app.use(cors({credentials: true, origin: true}))
41+
app.use(logger('dev'));
42+
app.use(express.json({limit: '50mb'}));
43+
app.use(express.urlencoded({ extended: true }));
44+
app.use(cookieParser());
45+
app.use(express.static(path.join(__dirname, 'public')));
46+
47+
app.use('/', indexRouter);
48+
app.use('/user', usersRouter);
49+
app.use('/admin', adminRouter);
50+
app.use('/restaurant', restoRouter);
51+
app.use('/api', apiRouter);
52+
53+
// catch 404 and forward to error handler
54+
app.use(function(req, res, next) {
55+
next(createError(404));
56+
});
57+
58+
// error handler
59+
app.use(function(err, req, res, next) {
60+
// set locals, only providing error in development
61+
res.locals.message = err.message;
62+
res.locals.error = req.app.get('env') === 'development' ? err : {};
63+
64+
// render the error page
65+
res.status(err.status || 500);
66+
res.render('error');
67+
});
68+
69+
module.exports = app;

Group_20/backend/bin/www

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#!/usr/bin/env node
2+
3+
/**
4+
* Module dependencies.
5+
*/
6+
7+
var app = require('../app');
8+
var debug = require('debug')('tomato:server');
9+
var http = require('http');
10+
11+
/**
12+
* Get port from environment and store in Express.
13+
*/
14+
15+
var port = normalizePort(process.env.PORT || '3000');
16+
app.set('port', port);
17+
18+
/**
19+
* Create HTTP server.
20+
*/
21+
22+
var server = http.createServer(app);
23+
24+
/**
25+
* Listen on provided port, on all network interfaces.
26+
*/
27+
28+
server.listen(port);
29+
server.on('error', onError);
30+
server.on('listening', onListening);
31+
32+
/**
33+
* Normalize a port into a number, string, or false.
34+
*/
35+
36+
function normalizePort(val) {
37+
var port = parseInt(val, 10);
38+
39+
if (isNaN(port)) {
40+
// named pipe
41+
return val;
42+
}
43+
44+
if (port >= 0) {
45+
// port number
46+
return port;
47+
}
48+
49+
return false;
50+
}
51+
52+
/**
53+
* Event listener for HTTP server "error" event.
54+
*/
55+
56+
function onError(error) {
57+
if (error.syscall !== 'listen') {
58+
throw error;
59+
}
60+
61+
var bind = typeof port === 'string'
62+
? 'Pipe ' + port
63+
: 'Port ' + port;
64+
65+
// handle specific listen errors with friendly messages
66+
switch (error.code) {
67+
case 'EACCES':
68+
console.error(bind + ' requires elevated privileges');
69+
process.exit(1);
70+
break;
71+
case 'EADDRINUSE':
72+
console.error(bind + ' is already in use');
73+
process.exit(1);
74+
break;
75+
default:
76+
throw error;
77+
}
78+
}
79+
80+
/**
81+
* Event listener for HTTP server "listening" event.
82+
*/
83+
84+
function onListening() {
85+
var addr = server.address();
86+
var bind = typeof addr === 'string'
87+
? 'pipe ' + addr
88+
: 'port ' + addr.port;
89+
debug('Listening on ' + bind);
90+
}

Group_20/backend/config/passport.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const db = require('../models/database');
2+
const JwtStrategy = require('passport-jwt').Strategy,
3+
ExtractJwt = require('passport-jwt').ExtractJwt;
4+
// load up the user model
5+
module.exports = function(passport) {
6+
const opts = {
7+
jwtFromRequest: ExtractJwt.fromAuthHeaderWithScheme('JWT'),
8+
secretOrKey: 'nodeauthsecret',
9+
};
10+
passport.use('jwt', new JwtStrategy(opts, function(jwt_payload, done) {
11+
db.getUser(jwt_payload.username)
12+
.then((user) => { return done(null, user); })
13+
.catch((error) => { return done(error, false); });
14+
}));
15+
};

Group_20/backend/models/.DS_Store

6 KB
Binary file not shown.

0 commit comments

Comments
 (0)