Monday, 17 May 2021

NODEJS

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">&times;</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();
}
}







No comments:

Post a Comment