Signup Form Using Node.js and MongoDB (original) (raw)
Last Updated : 08 May, 2024
**Installations
First, we need to include a few packages for our Nodejs application.
npm install express --save
Express allows us to set up middlewares to respond to HTTP Requests.
npm install body-parser --save
If you want to read HTTP POST data , you have to use the “body-parser” node module.
npm install mongoose --save
Mongoose is an object document mapping (ODM) layer which sits on the top of Node’s MongoDB driver.
**app.js
This is the main executable application file
app.js
var
express=require(
"express"
);
var
bodyParser=require(
"body-parser"
);
const mongoose = require(
'mongoose'
);
var
db=mongoose.connection;
db.on(
'error'
, console.log.bind(console,
"connection error"
));
db.once(
'open'
,
function
(callback){
`` console.log(
"connection succeeded"
);
})
var
app=express()
app.use(bodyParser.json());
app.use(express.static(
'public'
));
app.use(bodyParser.urlencoded({
`` extended:
true
}));
app.post(
'/sign_up'
,
function
(req,res){
`` var
name = req.body.name;
`` var
email =req.body.email;
`` var
pass = req.body.password;
`` var
phone =req.body.phone;
`` var
data = {
`` "name"
: name,
`` "email"
:email,
`` "password"
:pass,
`` "phone"
:phone
`` }
db.collection(
'details'
).insertOne(data,
function
(err, collection){
`` if
(err)
throw
err;
`` console.log(
"Record inserted Successfully"
);
`` });
`` return
res.redirect(
'signup_success.html'
);
})
app.get(
'/'
,
function
(req,res){
res.set({
`` 'Access-control-Allow-Origin'
:
'*'
`` });
return
res.redirect(
'index.html'
);
}).listen(3000)
console.log(
"server listening at port 3000"
);
index.html
<!DOCTYPE html>
<
html
>
<
head
>
`` <
title
> Signup Form</
title
>
<
link
rel
=
"stylesheet"
href
=
integrity
=
"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin
=
"anonymous"
>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"style.css"
>
</
head
>
<
body
>
`` <
br
>
`` <
br
>
`` <
br
>
`` <
div
class
=
"container"
>
`` <
div
class
=
"row"
>
`` <
div
class
=
"col-md-3"
>
`` </
div
>
`` <
div
class
=
"col-md-6 main"
>
`` <
h1
> Signup form </
h1
>
`` <
input
class
=
"box"
type
=
"text"
name
=
"name"
id
=
"name"
`` placeholder
=
"Name"
required /><
br
>
`` <
input
class
=
"box"
type
=
"email"
name
=
"email"
id
=
"email"
`` placeholder
=
"E-Mail "
required /><
br
>
`` <
input
class
=
"box"
type
=
"password"
name
=
"password"
`` id
=
"password"
placeholder
=
"Password "
required/><
br
>
`` <
input
class
=
"box"
type
=
"text"
name
=
"phone"
id
=
"phone"
`` placeholder
=
"Phone Number "
required/><
br
>
`` <
br
>
`` <
input
type
=
"submit"
id
=
"submitDetails"
`` name
=
"submitDetails"
value
=
"Submit"
/><
br
>
`` </
form
>
`` </
div
>
`` <
div
class
=
"col-md-3"
>
`` </
div
>
`` </
div
>
`` </
div
>
</
body
>
</
html
>
signup_success.html
<!DOCTYPE html>
<
html
>
<
head
>
`` <
title
> Signup Form</
title
>
<
link
rel
=
"stylesheet"
href
=
integrity
=
"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin
=
"anonymous"
>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"style.css"
>
</
head
>
`` <
body
>
`` <
br
>
`` <
br
>
`` <
br
>
`` <
div
class
=
"container"
>
`` <
div
class
=
"row"
>
`` <
div
class
=
"col-md-3"
>
`` </
div
>
`` <
div
class
=
"col-md-6 main"
>
`` <
h1
> Signup Successful</
h1
>
`` </
div
>
`` <
div
class
=
"col-md-3"
>
`` </
div
>
`` </
div
>
`` </
div
>
</
body
>
</
html
>
style.css
.main{
`` padding:20px;
`` font-family: 'Helvetica', serif;
`` box-shadow: 5px 5px 7px 5px #888888;
}
.main h1{
`` font-size: 40px;
`` text-align:center;
`` font-family: 'Helvetica', serif;
}
input{
`` font-family: 'Helvetica', serif;
`` width: 100%;
`` font-size: 20px;
`` padding: 12px 20px;
`` margin: 8px 0;
`` border: none;
`` border-bottom: 2px solid #767474;
}
input[type=submit] {
`` font-family: 'Helvetica', serif;
`` width: 100%;
`` background-color: #767474;
`` border: none;
`` color: white;
`` padding: 16px 32px;
`` margin: 4px 2px;
`` border-radius: 10px;
}
Start the MongoDB. Run app.js file
node app.js
Go to the browser and open http://127.0.0.1:3000/
**Fill the above form
This will add a record named “David Smith” in MongoDB. Let’s have a check in MongoDB for the same record. The record is now saved in the “gfg” database in “details” collection.