ch-1 nodejs core intro and setups
1.npm --version
2.npm install -g nodemon
ch-2 nodejs core api algorithyms
1.console.log("welcome node");
->cd desktop
node index.js
2.console.log("welcome node");
->cd desktop
nodemon index
3.var x="saurav";
console.log(x);
4.if(6 == 6)
{
console.log("success");
}
5.const http = require("http");
const server = http.createServer((request,response)=>{
response.write("saurav");
response.end();
});
server.listen(8080);
->localhost:8080
6.const http = require("http");
const server = http.createServer((request,response)=>{
//operation
const date = new Date();
const current_date = date.toLocaleDateString();
//header info
response.writeHead(200,{
'Content-Type': 'application/json'
});
//response in json format
const result={
current_date:current_date
};
const string_data = JSON.stringify(result);
response.write(string_data);
//disconnect user
response.end();
});
server.listen(8080);
7.const http = require("http");
console.log(http.STATUS_CODES);
8.<body>
<script>
const date = new Date();
const current_date=date.toLocaleDateString();
alert(current_date);
</script>
</body>
ch-3 nodejs core handling http requests
1.const http = require("http");
const server = http.createServer((request,response)=>{
response.write("success");
response.end();
});
server.listen(8080);
2.const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
var userData="";
request.on('data',(chunks)=>{
userData+=chunks.toString();
});
request.on('end',()=>{
const data=query.parse(userData);
response.write(data.name);
response.end();
});
});
server.listen(8080);
3.const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
var userData="";
request.on('data',(chunks)=>{
userData+=chunks.toString();
});
request.on('end',()=>{
const data=query.parse(userData);
var username=data.username;
var password=data.password;
if(username == "saurav" && password == 12345)
{
response.writeHead(200,{
'Content-Type':'application/json'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
response.end();
});
});
server.listen(8080);
ch-4 nodejs core html and ajax cors request
1.http://localhost:8080?username=saurav&password=12345
=>const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
var userData = query.parse(request.url.replace("/?",""));
console.log(userData.username);
response.end();
});
server.listen(8080);
=>const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
response.write(request.method);
response.end();
});
server.listen(8080);
2.<body>
<form method="GET" action="http://localhost:8080">
username<br><br>
<input name="username">
<br><br>
password<br><br>
<input name="password" type="password">
<br><br>
<button type="submit">login</button>
</form>
</body>
=>const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
if(request.method == "GET")
{
var userData = query.parse(request.url.replace("/?",""));
var username=userData.username;
var password=userData.password;
if(username == "saurav" && password== 12345)
{
response.writeHead(200,{
'Content-Type':'application/json'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
}
response.end();
});
server.listen(8080);
3.<body>
<form method="POST" action="http://localhost:8080">
username<br><br>
<input name="username">
<br><br>
password<br><br>
<input name="password" type="password">
<br><br>
<button type="submit">login</button>
</form>
</body>
=>const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
if(request.method == "GET")
{
var userData = query.parse(request.url.replace("/?",""));
var username=userData.username;
var password=userData.password;
if(username == "saurav" && password== 12345)
{
response.writeHead(200,{
'Content-Type':'application/json'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
response.end();
}
else{
var postdata="";
request.on("data",(chunks)=>{
postdata+=chunks.toString();
});
request.on("end",()=>{
const user=query.parse(postdata);
var username=user.username;
var password=user.password;
if(username=="saurav" && password==12345)
{
response.writeHead(200,{
'Content-Type':'application/json'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
response.end();
});
}
});
server.listen(8080);
4.<body>
<form id="form">
username<br><br>
<input name="username" id="username">
<br><br>
password<br><br>
<input name="password" type="password" id="password">
<br><br>
<button type="submit">login</button>
</form>
<script>
const form=document.querySelector("#form");
form.onsubmit=function(){
var username=document.querySelector("#username").value;
var password=document.querySelector("#password").value;
var url="http://localhost:8080?username="+username+"&password="+password;
const ajax=new XMLHttpRequest();
ajax.open("GET",url,true);
ajax.send();
//getting response
ajax.onreadystatechange=()=>{
if(ajax.readyState == 4)
{
console.log(ajax.responseText);
}
}
return false;
}
</script>
</body>
=>const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
if(request.method == "GET")
{
var userData = query.parse(request.url.replace("/?",""));
var username=userData.username;
var password=userData.password;
if(username == "saurav" && password== 12345)
{
response.writeHead(200,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
response.end();
}
else{
var postdata="";
request.on("data",(chunks)=>{
postdata+=chunks.toString();
});
request.on("end",()=>{
const user=query.parse(postdata);
var username=user.username;
var password=user.password;
if(username=="saurav" && password==12345)
{
response.writeHead(200,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
response.end();
});
}
});
server.listen(8080);
5.<body>
<form id="form">
username<br><br>
<input name="username" id="username">
<br><br>
password<br><br>
<input name="password" type="password" id="password">
<br><br>
<button type="submit">login</button>
</form>
<script>
const form=document.querySelector("#form");
form.onsubmit=function(){
var username=document.querySelector("#username").value;
var password=document.querySelector("#password").value;
var url="http://localhost:8080";
const ajax=new XMLHttpRequest();
ajax.open("POST",url,true);
ajax.send("username="+username+"&password="+password);
//getting response
ajax.onreadystatechange=()=>{
if(ajax.readyState == 4)
{
console.log(ajax.responseText);
}
}
return false;
}
</script>
</body>
=>const http = require("http");
const query=require("querystring");
const server = http.createServer((request,response)=>{
if(request.method == "GET")
{
var userData = query.parse(request.url.replace("/?",""));
var username=userData.username;
var password=userData.password;
if(username == "saurav" && password== 12345)
{
response.writeHead(200,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
response.end();
}
else{
var postdata="";
request.on("data",(chunks)=>{
postdata+=chunks.toString();
});
request.on("end",()=>{
const user=query.parse(postdata);
var username=user.username;
var password=user.password;
if(username=="saurav" && password==12345)
{
response.writeHead(200,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const successMessage=JSON.stringify({
message:"user authenticated"
});
response.write(successMessage);
}
else{
response.writeHead(401,{
'Content-Type':'application/json',
'Access-Control-Allow-Origin':'*'
});
const errorMessage=JSON.stringify({
message:"user unauthenticated"
});
response.write(errorMessage);
}
response.end();
});
}
});
server.listen(8080);
ch-5 nodejs core intro to mongodb and setups
1.mongo --version
ch-6 nodejs core mongodb transactions
1.npm install mongodb
2.mongo
3.cd desktop
Desktop>cd mongo
Desktop\mongo>cd backend
Desktop\mongo\backend>nodemon create_db
4.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
var url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
if(error)
throw error;
const db=conn.db("wap");
db.createCollection("result",(error,collection)=>{
if(error)
{
if(error.code == 48)
{
response.writeHead(409,{
'Content-Type':'application/json'
});
const dupMessage=JSON.stringify({
message:"duplicate collection"
});
response.write(dupMessage);
response.end();
}
}
else{
const data={
name:"er saurav",
roll:12,
subject:"maths",
marks:"80%"
};
db.collection("result").insertOne(data,(error,dataRes)=>{
if(error)
throw error;
//success
response.writeHead(200,{
'Content-Type':'application/json'
});
const successMessage=JSON.stringify({
message:dataRes
});
response.write(successMessage);
response.end();
});
}
});
});
});
server.listen(8080);
5.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
var url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
if(error)
throw error;
const data={
name:"gautam",
roll:215,
subject:"maths",
marks:"80%"
};
const db=conn.db("wap");
db.collection("result").insertOne(data,(error,dataRes)=>{
if(error)
throw error;
response.writeHead(200,{
'Content-Type':'application/json'
});
const successMessage=JSON.stringify({
message:dataRes
});
response.write(successMessage);
response.end();
});
});
});
server.listen(8080);
ch-7 nodejs core mongodb insert and find
1.cd desktop/mongo/backend
2.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const data={
name:"saurava",
roll:1234
};
const db=conn.db("wap");
db.collection("result").find(data).toArray((error,result)=>{
if(result.length == 0)
{
db.collection("result").insertOne(data,(error,dataRes)=>{
response.writeHead(200,{
'Content-Type':'application/json'
});
const successMessage=JSON.stringify({
message:"insert success"
});
response.write(successMessage);
response.end();
});
}
else{
response.writeHead(409,{
'Content-Type':'application/json'
});
const failedMessage=JSON.stringify({
message:"duplicate entry"
});
response.write(failedMessage);
response.end();
}
});
});
});
server.listen(8080);
3.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const data=[
{
name:"a",
roll:123
},
{
name:"b",
roll:123
},
{
name:"c",
roll:123
}
];
db.collection("result").insert(data,(error,dataRes)=>{
console.log(dataRes);
});
});
});
server.listen(8080);
4.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
db.collection("result").find(null,{
projection:{
_id:1,
name:0,
roll:0
}
}).toArray((error,data)=>{
console.log(data);
});
});
});
server.listen(8080);
ch-8 nodejs core mongodb operators
1.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
id:89
};
const fieldControl={
projection:{
id:0,
_id:0,
userId:0,
title:0,
}
};
db.collection("posts")
.find(null,fieldControl)
.limit(2)
.toArray((error,data)=>{
console.log(data);
response.end();
});
});
});
server.listen(8080);
2.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
id:{
$gt:90,
$lt:100
}
};
const fieldControl={
projection:{
id:0,
_id:0,
userId:0,
title:0,
}
};
db.collection("posts")
.find(query)
.toArray((error,data)=>{
console.log(data);
response.end();
});
});
});
server.listen(8080);
3.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
title:{
$regex:/^con/
}
};
const fieldControl={
projection:{
id:0,
_id:0,
userId:0,
title:0,
}
};
db.collection("posts")
.find(query)
.toArray((error,data)=>{
console.log(data);
response.end();
});
});
});
server.listen(8080);
4.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
id:{
$gt:1
},
title:{
$regex:/^con/i
},
body:{
$regex:/^vol/i
}
};
const fieldControl={
projection:{
id:0,
_id:0,
userId:0,
title:0,
}
};
db.collection("posts")
.find(query)
.toArray((error,data)=>{
if(data == 0)
{
console.log("data not found");
}
else{
console.log(data);
}
response.end();
});
});
});
server.listen(8080);
5.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
id:{
$in:[80,99,100,98]
},
};
const fieldControl={
projection:{
id:0,
_id:0,
userId:0,
title:0,
}
};
db.collection("posts")
.find(query)
.toArray((error,data)=>{
if(data == 0)
{
console.log("data not found");
}
else{
console.log(data);
}
response.end();
});
});
});
server.listen(8080);
6.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
title:{
$eq:"quas fugiat ut perspiciatis vero provident"
},
};
const fieldControl={
projection:{
id:0,
_id:0,
userId:0,
title:0,
}
};
db.collection("posts")
.find(query)
.toArray((error,data)=>{
if(data == 0)
{
console.log("data not found");
}
else{
console.log(data);
}
response.end();
});
});
});
server.listen(8080);
7.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
$and:[
{username:"saurav@gmail.com"},
{password:12345}
]
};
const fieldControl={
projection:{
id:0,
_id:0,
userId:0,
title:0,
}
};
db.collection("users")
.find(query)
.toArray((error,data)=>{
if(data == 0)
{
console.log("login failed");
}
else{
console.log(data);
}
response.end();
});
});
});
server.listen(8080);
=>[
{
"username":"saurav@gmail.com",
"password":12345
},
{
"username":"gautam@gmail.com",
"password":58963
}
]
ch-9 nodejs core mongodb delete and update
1.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
db.collection("products").find().toArray((error,data)=>{
console.log(data);
response.end();
});
});
});
server.listen(8080);
=>[
{
"id": 1,
"product_name": "soap",
"price": 200,
"purchased_at": "2020-06-05"
},
{
"id": 2,
"product_name": "laptop",
"price": 20000,
"purchased_at": "2020-06-08"
},
{
"id": 3,
"product_name": "speaker",
"price": 500,
"purchased_at": "2020-06-11"
}
]
2.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
db.collection("products").find().count((error,length)=>{
console.log(length);
response.end();
})
});
});
server.listen(8080);
3.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const desc={
price:-1
};
db.collection("products").find().sort(desc).toArray((error,data)=>{
console.log(data);
response.end();
});
});
});
server.listen(8080);
4.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const desc={
purchased_at:-1
};
db.collection("products").find().sort(desc).toArray((error,data)=>{
console.log(data);
response.end();
});
});
});
server.listen(8080);
5.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
id:2
};
const updateData={
$set:{
product_name:"printer",
price:14000
}
};
db.collection("products").updateOne(query,updateData,(error,checkUpdate)=>{
if(error)
throw error;
console.log("update success");
response.end();
});
});
});
server.listen(8080);
6.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
id:2,
price:500
};
const updateData={
$set:{
product_name:"desktop",
price:20000
}
};
db.collection("products").updateMany(query,updateData,(error,checkUpdate)=>{
if(error)
throw error;
console.log("update success");
response.end();
});
});
});
server.listen(8080);
7.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
const query={
price:500
};
db.collection("products").deleteOne(query,(error,deleteRes)=>{
if(error)
throw error
console.log("success");
response.end();
});
});
});
server.listen(8080);
8.const http=require("http");
const mongo=require("mongodb").MongoClient;
const server=http.createServer((request,response)=>{
const url="mongodb://127.0.0.1:27017";
mongo.connect(url,(error,conn)=>{
const db=conn.db("wap");
db.collection("products").drop((error,colDrop)=>{
if(error)
throw error;
console.log("success");
response.end();
});
});
});
server.listen(8080);
ch-10 nodejs core mongodb shell
1.mongo
2.show dbs
3.use wap
db.posts.find()
db.posts.find().pretty()
4.db.posts.find({id:1}).pretty()
5.db.employee.insert({id:1,name:"saurav",salary:2000})
db.employee.find().pretty()
6.db.employee.insertMany([{id:2,name:"a",salary:2000},{id:3,name:"b",salary:3000}])
db.employee.find().pretty()
7.db.employee.deleteOne({id:2})
8. db.employee.deleteMany({id:2})
9.db.employee.drop()
10.show collections
11.db.posts.updateOne({id:1},{$set:{title:"testing"}})
12.db.posts.updateMany({id:1},{$set:{title:"welcome"}})
13.db.students.insertMany([
{
"class":1,
"students":[
{
"name":"saurav",
"roll":1
},
{
"name":"gaurav",
"roll":2
},
{
"name":"ravi",
"roll":3
}
]
},
{
"class":2,
"students":[
{
"name":"raman",
"roll":1
},
{
"name":"aman",
"roll":2
}
]
}
])
=>db.students.find().pretty()
=>db.students.find().limit(1).pretty()
14.db.students.aggregate({$project:{_id:0,class:0}}).pretty()
15.db.students.aggregate([{$project:{_id:0}},{$match:{class:1}}]).pretty()
16.db.students.aggregate([{$match:{class:1}},{$project:{_id:0,class:0}}]).pretty()
17.db.students.find({class:1},{students:1}).pretty()
18.db.students.find({class:1},{students:1,_id:0}).pretty()
19.db.students.find({class:1},{"students.name":1,_id:0}).pretty()
20.db.students.find()
use wap
db.students.find().pretty()
21.db.students.updateOne({class:1},{$push:{students:{name:"riya",roll:32}}})
22.db.students.updateOne({class:1},{$push:{status:"active"}})
23.db.posts.find({id:4}).pretty()
24.db.posts.createIndex({id:4})
25.db.posts.find({id:4}).pretty()
26.db.posts.dropIndex({id:4})
ch-11 nodejs core html css js routing
=>insert.js
const http=require("http");
const fs=require("fs");
const route=(path,response,status_code,type)=>{
fs.readFile(path,(error,data)=>{
response.writeHead(status_code,{
'Content-Type':type
});
response.write(data);
return response.end();
});
}
const server=http.createServer((request,response)=>{
//html page routing
if(request.url == "/" || request.url == "/home" || request.url == "/homepage")
{
let type="text/html";
let status_code=200;
let path="html/homepage.html";
route(path,response,status_code,type);
}
else if(request.url == "/about" || request.url == "/about-us")
{
let type="text/html";
let status_code=200;
let path="html/about-us.html";
route(path,response,status_code,type);
}
else if(request.url == "/contact" || request.url == "/contact-us")
{
let type="text/html";
let status_code=200;
let path="html/contact-us.html";
route(path,response,status_code,type);
}
//css page routing
else if(request.url == "/css/homepage.css")
{
let type="text/css";
let status_code=200;
let path="css/homepage.css";
route(path,response,status_code,type);
}
else if(request.url == "/css/contact-us.css")
{
let type="text/css";
let status_code=200;
let path="css/contact-us.css";
route(path,response,status_code,type);
}
else if(request.url == "/css/about-us.css")
{
let type="text/css";
let status_code=200;
let path="css/about-us.css";
route(path,response,status_code,type);
}
else if(request.url == "/css/not-found.css")
{
let type="text/css";
let status_code=200;
let path="css/not-found.css";
route(path,response,status_code,type);
}
//javascript page routing
else if(request.url == "/js/homepage.js")
{
let type="text/javascript";
let status_code=200;
let path="js/homepage.js";
route(path,response,status_code,type);
}
else if(request.url == "/js/about-us.js")
{
let type="text/javascript";
let status_code=200;
let path="js/about-us.js";
route(path,response,status_code,type);
}
else if(request.url == "/js/contact-us.js")
{
let type="text/javascript";
let status_code=200;
let path="js/contact-us.js";
route(path,response,status_code,type);
}
else if(request.url == "/js/not-found.js")
{
let type="text/javascript";
let status_code=200;
let path="js/not-found.js";
route(path,response,status_code,type);
}
else{
let type="text/html";
let status_code=404;
let path="html/not-found.html";
route(path,response,status_code,type);
}
});
server.listen(8080);
=>homepage.js
alert("welcome to homepage");
=>homepage.css
body{
background-color:blue;
}
=>homepage.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>document</title>
<link rel="stylesheet" href="../css/homepage.css">
<script src="../js/homepage.js"></script>
</head>
<body>
<h1>welcome to homepage</h1>
</body>
</html>
ch-12 nodejs core creating module api
1.cd desktop
Desktop>cd routing
Desktop\routing>nodemon
Desktop\routing>cd node-api
Desktop\routing\node-api>nodemon signup
2.Desktop\routing\node-api>cd..
3.index.js
const http=require("http");
const fs=require("fs");
const signup=require("./node-api/signup");
const route=(path,response,status_code,type)=>{
fs.readFile(path,(error,data)=>{
response.writeHead(status_code,{
'Content-Type':type
});
response.write(data);
return response.end();
});
}
const server=http.createServer((request,response)=>{
//html page routing
if(request.url == "/" || request.url == "/home" || request.url == "/homepage")
{
let type="text/html";
let status_code=200;
let path="html/homepage.html";
route(path,response,status_code,type);
}
else if(request.url == "/about" || request.url == "/about-us")
{
let type="text/html";
let status_code=200;
let path="html/about-us.html";
route(path,response,status_code,type);
}
else if(request.url == "/contact" || request.url == "/contact-us")
{
let type="text/html";
let status_code=200;
let path="html/contact-us.html";
route(path,response,status_code,type);
}
//css page routing
else if(request.url == "/css/homepage.css")
{
let type="text/css";
let status_code=200;
let path="css/homepage.css";
route(path,response,status_code,type);
}
else if(request.url == "/css/contact-us.css")
{
let type="text/css";
let status_code=200;
let path="css/contact-us.css";
route(path,response,status_code,type);
}
else if(request.url == "/css/about-us.css")
{
let type="text/css";
let status_code=200;
let path="css/about-us.css";
route(path,response,status_code,type);
}
else if(request.url == "/css/not-found.css")
{
let type="text/css";
let status_code=200;
let path="css/not-found.css";
route(path,response,status_code,type);
}
//javascript page routing
else if(request.url == "/js/homepage.js")
{
let type="text/javascript";
let status_code=200;
let path="js/homepage.js";
route(path,response,status_code,type);
}
else if(request.url == "/js/about-us.js")
{
let type="text/javascript";
let status_code=200;
let path="js/about-us.js";
route(path,response,status_code,type);
}
else if(request.url == "/js/contact-us.js")
{
let type="text/javascript";
let status_code=200;
let path="js/contact-us.js";
route(path,response,status_code,type);
}
else if(request.url == "/js/not-found.js")
{
let type="text/javascript";
let status_code=200;
let path="js/not-found.js";
route(path,response,status_code,type);
}
//nodeapis routing
else if(request.url == "/api/signup")
{
signup.result(request,response);
}
else{
let type="text/html";
let status_code=404;
let path="html/not-found.html";
route(path,response,status_code,type);
}
});
server.listen(8080);
=>signup.js
exports.result=(request,response)=>{
let formdata="";
request.on("data",(chunks)=>{
formdata+=chunks.toString();
});
//get data when chunks is completed
request.on("end",()=>{
console.log(formdata);
return response.end();
});
}
=>homepage.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="../css/homepage.css">
<script src="../js/homepage.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
</head>
<body>
<div class="container py-5">
<div class="row">
<div class="col-md-5">
<div class="card shadow px-4 animate__animated animate__fadeIn">
<div class="card-body">
<div align="center">
<img src="https://www.fundraisingdirectory.com.au/wp-content/uploads/2018/12/signup-new-logo-announcement.png" width="100%" class="mb-4">
</div>
<form id="signup-form">
<input type="text" class="form-control mb-4" placeholder="Name" name="name" id="name">
<input type="email" class="form-control mb-4" placeholder="Email" name="email" id="email">
<input type="number" class="form-control mb-4" placeholder="Mobile" name="mobile" id="mobile">
<input type="password" class="form-control mb-4" placeholder="Password" name="password" id="password">
<button type="submit" class="btn py-2" style="background-color:#24A7DF;color:white">SUBMIT</button>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
=>homepage.js
window.onload=()=>{
signupRequest();
}
const signupRequest=()=>{
const form=document.querySelector("#signup-form");
form.onsubmit=(e)=>{
e.preventDefault();
//get form data
const formdata=JSON.stringify({
name:document.querySelector("#name").value,
email:document.querySelector("#email").value,
mobile:document.querySelector("#mobile").value,
password:document.querySelector("#password").value,
});
//ajax request
const ajax=new XMLHttpRequest();
ajax.open("POST","http://localhost:8080/api/signup",true);
ajax.send(formdata);
//get response
ajax.onload=()=>{
const data =JSON.parse(ajax.response);
alert(data.message)
}
}
}
ch-13 nodejs core handling mongo from ui
1.cd desktop
Desktop>cd routing
Desktop\routing>npm init
Desktop\routing>npm install mongodb
2.
=>db.js
const mongo=require("mongodb").MongoClient;
const url="mongodb://localhost:27017";
exports.insertOne=(formdata,request,response)=>{
const data=JSON.parse(formdata);
mongo.connect(url,(error,conn)=>{
const db=conn.db("nodewap");
db.collection("users").insertOne(data,(error,dataRes)=>{
if(error)
{
sendResponse(response,500,"internal server error");
}
else{
sendResponse(response,200,dataRes);
}
});
});
}
const sendResponse=(response,status_code,responseMessage)=>{
response.writeHead(status_code,{
'Content-Type':'application/json'
});
const message=JSON.stringify({
message:responseMessage
});
response.write(message);
return response.end();
}
=>homepage.js
window.onload=()=>{
signupRequest();
}
const signupRequest=()=>{
const form=document.querySelector("#signup-form");
form.onsubmit=(e)=>{
e.preventDefault();
//get form data
const formdata=JSON.stringify({
name:document.querySelector("#name").value,
email:document.querySelector("#email").value,
mobile:document.querySelector("#mobile").value,
password:document.querySelector("#password").value,
});
//ajax request
const ajax=new XMLHttpRequest();
ajax.open("POST","http://localhost:8080/api/signup",true);
ajax.send(formdata);
//get response
ajax.onload=()=>{
const data =JSON.parse(ajax.response);
if(data.message.insertedId)
{
$(".toast").toast('show');
$(".toast").addClass("animate__animated animate__slideInRight");
$(".toast-body").html("thank you signup success");
}
else{
$(".toast").toast('show');
$(".toast").addClass("animate__animated animate__slideInRight");
$(".toast-body").html("oops internal server error");
}
}
}
}
=>homepage.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="../css/homepage.css">
<script src="../js/homepage.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
</head>
<body>
<div class="container py-5">
<div class="row">
<div class="col-md-5">
<div class="card shadow px-4 animate__animated animate__fadeIn">
<div class="card-body">
<div align="center">
<img src="https://www.fundraisingdirectory.com.au/wp-content/uploads/2018/12/signup-new-logo-announcement.png" width="100%" class="mb-4">
</div>
<form id="signup-form">
<input type="text" class="form-control mb-4" placeholder="Name" name="name" id="name">
<input type="email" class="form-control mb-4" placeholder="Email" name="email" id="email">
<input type="number" class="form-control mb-4" placeholder="Mobile" name="mobile" id="mobile">
<input type="password" class="form-control mb-4" placeholder="Password" name="password" id="password">
<button type="submit" class="btn py-2" style="background-color:#24A7DF;color:white">SUBMIT</button>
</div>
</div>
</div>
</div>
</div>
<!--toast-->
<div class="toast" data-autohide="false">
<div class="toast-header">
<strong class="mr-auto">Message</strong>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast">×</button>
</div>
<div class="toast-body">
</div>
</div>
</body>
</html>
=>homepage.css
body{
background-color: #F1F1F2
}
#upload-form input{
border-top: none !important;
border-left: none !important;
border-right: none !important;
border-radius: 0 !important;
padding-left: 0 !important;
}
#upload-form input:focus{
box-shadow: none !important;
}
.toast{
position:fixed;
top:24px;
right:32px;
z-index:10000;
width:320px;
}
=>signup.js
const database=require("./db");
exports.result=(request,response)=>{
let formdata="";
request.on("data",(chunks)=>{
formdata+=chunks.toString();
});
//get data when chunks is completed
request.on("end",()=>{
database.insertOne(formdata,request,response);
});
}
ch-14 nodejs core working with promise
1.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>document</title>
</head>
<body>
<script>
function demo(){
var x=10;
var y=12;
var z=x+y;
return z;
}
alert(demo());
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>document</title>
</head>
<body>
<script>
function demo(){
const ajax=new XMLHttpRequest();
ajax.open("GET","https://jsonplaceholder.typicode.com/comments",true);
ajax.send();
ajax.onload=()=>{
console.log(ajax.response);
}
}
demo();
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>document</title>
</head>
<body>
<script>
function demo(){
const ajax=new XMLHttpRequest();
ajax.open("GET","https://jsonplaceholder.typicode.com/comments",true);
ajax.send();
ajax.onload=()=>{
console.log(ajax.response);
}
console.log("testing");
}
demo();
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>document</title>
</head>
<body>
<script>
function demo(){
const ajax=new XMLHttpRequest();
ajax.open("GET","https://jsonplaceholder.typicode.com/comments",true);
ajax.send();
ajax.onload=()=>{
return ajax.response;
}
}
console.log(demo());
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>document</title>
</head>
<body>
<script>
function demo(){
const ajax=new XMLHttpRequest();
ajax.open("GET","https://jsonplaceholder.typicode.com/comments",true);
ajax.send();
return new Promise((success,error)=>{
ajax.onload=()=>{
error(ajax.response);
}
});
}
demo().catch((response)=>{
console.log(response);
});
</script>
</body>
</html>
2.db.js
const mongo=require("mongodb").MongoClient;
const url="mongodb://localhost:27017";
//establish connection
const config=()=>{
return new Promise((resolve,reject)=>{
mongo.connect(url,(error,conn)=>{
const db=conn.db("nodewap");
const collection=db.collection("users");
resolve(collection);
});
});
}
//fetch or find data
exports.find=(query)=>{
return new Promise((resolve,reject)=>{
config().then((collection)=>{
collection.find(query).toArray((error,dataRes)=>{
if(dataRes.length !=0)
{
resolve({
status_code:200,
message:dataRes
});
}
else{
reject({
status_code:404,
message:"data not found"
});
}
});
});
});
}
//insert data
exports.insertOne=(formdata)=>{
return new Promise((resolve,reject)=>{
config().then((collection)=>{
collection.insertOne(formdata,(error,dataRes)=>{
if(error)
{
reject({
status_code:500,
message:"internal server error"
});
}
else{
resolve({
status_code:200,
message:dataRes
});
}
});
});
});
}
=>homepage.js
window.onload=()=>{
signupRequest();
}
const signupRequest=()=>{
const form=document.querySelector("#signup-form");
form.onsubmit=(e)=>{
e.preventDefault();
//get form data
const formdata=JSON.stringify({
name:document.querySelector("#name").value,
email:document.querySelector("#email").value,
mobile:document.querySelector("#mobile").value,
password:document.querySelector("#password").value,
});
//ajax request
const ajax=new XMLHttpRequest();
ajax.open("POST","http://localhost:8080/api/signup",true);
ajax.send(formdata);
//get response
ajax.onload=()=>{
const data =JSON.parse(ajax.response);
console.log(data);
}
}
}
=>signup.js
const database=require("./db");
exports.result=(request,response)=>{
let formdata="";
request.on("data",(chunks)=>{
formdata+=chunks.toString();
});
//get data when chunks is completed
request.on("end",()=>{
const userInfo=JSON.parse(formdata);
const query={
email:userInfo.email
};
//check user exists or not
const findRes=database.find(query);
findRes
.then((successRes)=>{
sendResponse(
response,
successRes.status_code,
successRes.message
);
})
.catch((errorRes)=>{
//new user try to proceed the signup
createUser(userInfo);
});
});
const createUser=(userInfo)=>{
const insertRes=database.insertOne(userInfo);
insertRes
.then((successRes)=>{
console.log(successRes);
})
.catch((errorRes)=>{
console.log(errorRes);
});
}
//send response
const sendResponse=(response,status_code,responseMessage)=>{
response.writeHead(status_code,{
'Content-Type':'application/json'
});
response.write(JSON.stringify(responseMessage));
return response.end();
}
}