Skip to content
Snippets Groups Projects
Commit 3c9d6cf7 authored by Alexander Tim Hobelsberger's avatar Alexander Tim Hobelsberger
Browse files

DB Connection, User Model, Authentiation Route, save in DB

parent 7daaf613
No related branches found
No related tags found
No related merge requests found
//node packages
const express = require('express'); const express = require('express');
const app = express(); const app = express();
const http = require('http'); const http = require('http');
...@@ -5,16 +6,20 @@ const { mongo, default: mongoose } = require('mongoose'); ...@@ -5,16 +6,20 @@ const { mongo, default: mongoose } = require('mongoose');
const server = http.createServer(app); const server = http.createServer(app);
const { Server } = require("socket.io"); const { Server } = require("socket.io");
const io = new Server(server); const io = new Server(server);
const bodyParser = require('body-parser');
const authRoute = require('./routes/authentication');
//DB Connection //DB Connection
//mongoose.connect("mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb"); mongoose.connect("mongodb://127.0.0.1:27017/cloudComputing");
//Middlewares
app.use(bodyParser.json());
//Routes
app.use('/authentication', authRoute)
//Views
app.get('/', (req, res) => { app.get('/', (req, res) => {
res.sendFile(__dirname + '/frontend_files/index.html'); res.sendFile(__dirname + '/frontend_files/index.html');
}); });
app.get('/register', (req, res) => { app.get('/register', (req, res) => {
res.sendFile(__dirname + '/frontend_files/register.html'); res.sendFile(__dirname + '/frontend_files/register.html');
}); });
......
const mongoose = require('mongoose');
const schema = mongoose.Schema;
const userSchema = new schema({
name: {
type: String
},
password: {
type: String
}
}, {timestamps: true})
const User = mongoose.model('User', userSchema);
module.exports = User
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
...@@ -6,8 +6,11 @@ ...@@ -6,8 +6,11 @@
"start": "nodemon app.js" "start": "nodemon app.js"
}, },
"dependencies": { "dependencies": {
"bcrypt": "^5.1.0",
"body-parser": "^1.20.1",
"express": "^4.18.2", "express": "^4.18.2",
"http": "*", "http": "*",
"jsonwebtoken": "^8.5.1",
"mongoose": "^6.6.7", "mongoose": "^6.6.7",
"nodemon": "^2.0.20", "nodemon": "^2.0.20",
"socket.io": "^4.5.3" "socket.io": "^4.5.3"
......
const User = require('../models/user');
const bcrypt = require('bcrypt');
const jwt = require('jsonwebtoken');
const express = require('express');
const router = express.Router()
const bodyParser = require('body-parser');
router.post('/', async(req, res) => {
console.log(req.body);
bcrypt.hash(req.body.password, 10, function(err, hashedPass){
if(err){
res.json({
error: err
})
}
let user = new User ({
name: req.body.name,
password: hashedPass
})
user.save()
.then(user => {
res.json({
message: 'User Added successfully'
})
})
.catch(error => {
res.json({
message: 'Error occured'
})
})
})
});
module.exports = router;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment