Posts

Showing posts from February, 2025

total code

  const { faker , tr } = require ( "@faker-js/faker" ); const mysql = require ( "mysql2" ); const connection = mysql . createConnection ({   host : "localhost" ,   user : "root" ,   database : "app" ,   password : "abhi@546871" , }); const express = require ( "express" ); const app = express (); const port = 8080 ; app . set ( "view engine" , "ejs" ); const path = require ( "path" ); app . set ( "views" , path . join ( __dirname , "/views" )); const methodOverride = require ( "method-override" ); app . use ( methodOverride ( "_method" )); const exp = require ( "constants" ); const { v4 : uuidv4 } = require ( "uuid" ); const { threadId } = require ( "worker_threads" ); app . use ( express . urlencoded ({ extended : true })); let users = [   [ "123b" , "123_newuser...

TO DELETE A USER (DELETE /user/:id)

Image
 INDEX.JS //TO DELETE app . delete ( "/user/:id" , ( req , res ) => {   let { id } = req . params ;   let q = `DELETE FROM user WHERE id=' ${ id } '` ;   try {     connection . query ( q , ( err , result ) => {       console . log ( result );         if ( err ) throw err ;         res . redirect ( "/users" );     });   } catch ( err ) {     res . send ( "error occured" );   } }); SHOW.EJS <! DOCTYPE html > < html lang = "en" > < head >     < meta charset = "UTF-8" >     < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >     < title > show users </ title >     < style >     table ,     th ,     td {         border : 1px solid black ;     }     </ style > </ head...

TO ADD NEW USER (post/user)

Image
 INDEX.JS // TO ADD INTO DB app . get ( "/users/new" , ( req , res ) => {   res . render ( "new.ejs" ); }); app . post ( "/users" , ( req , res ) => {   let { username , EMAIL , password } = req . body ;   let id = uuidv4 ();   let q = `INSERT INTO user(id,username,EMAIL,password) VALUES(' ${ id } ',' ${ username } ',' ${ EMAIL } ',' ${ password } ')` ;   try {     connection . query ( q , ( err , result ) => {       if ( err ) throw err ;       data . push ( result );       res . redirect ( "/users" );     });   } catch ( err ) {     res . send ( "error occured" );   } }); NEW.EJS <! DOCTYPE html > < html lang = "en" > < head >     < meta charset = "UTF-8" >     < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >     < title > Add new user </ title ...

tO UPDATE route (PATCH/user/:id)

Image
HERE WE USE PATCH   request to UPDATE  BUT PATCH CANNOT BE INITIALIZED IN HTML, HENCE IT NEEDS TO BE OVERRIDED USING METHOD-OVERRIDE PACKAGE. TO OVERRIDE DOWNLOAD USING:   npm i method-override REQUIRE IT  const methodOverride = require ( "method-override" ); app . use ( methodOverride ( "_method" )); IN EDIT.EJS EDIT.EJS ody >     < h2 > You are going to edit: <%= user . EMAIL %> </ h2 >     < form method = "post" action = "/user/ <%= user . id %> ?_method=PATCH " >         < textarea name = "username" > <%= user . username %> </ textarea >         < input type = "password" name = "password" placeholder = "enter  password" >         < button > Edit password </ button >     </ form >   INDEX.JS // TO UPDATE app . patch ( "/user/:id" , ( req , res ) => {   let { id } ...

EDIT route (get /user/:id/edit)

Image
 TO EDIT : INDEX.JS // EDIT ROUTE app . get ( "/user/:id/edit" , ( req , res ) => {   let { id } = req . params ;   let q = `SELECT * FROM user WHERE id=' ${ id } '` ;   try {     connection . query ( q , ( err , result ) => {       if ( err ) throw err ;       let user = result [ 0 ];         res . render ( "edit.ejs" , { user });     });   } catch ( err ) {     console . log ( err );     res . send ( "error occured" );   } }); SHOW.EJS <! DOCTYPE html > < html lang = "en" > < head >     < meta charset = "UTF-8" >     < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >     < title > show users </ title >     < style >     table ,     th ,     td {         border : 1px solid black ...

SHOW route (GET / user)

Image
  INDEX.JS app . get ( "/users" , ( req , res ) => {   let q = 'SELECT * FROM user' ;   try {   connection . query ( q , ( err , users ) => {     if ( err ) throw err ;     res . render ( "show.ejs" ,{ users });   }); } catch ( err ) {   console . log ( err );   res . send ( "error occured" ); } }); app . listen ( port , () => {   console . log ( `listening to port ${ port } ` ); }); SHOW.EJS <! DOCTYPE html > < html lang = "en" > < head >     < meta charset = "UTF-8" >     < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >     < title > show users </ title >     < style >     table ,     th ,     td {         border : 1px solid black ;     }     </ style > </ head > < body >     < table ...

ROUTING (GET /) home route

Image
  app . get ( "/" , ( req , res ) => {   let q = 'SELECT COUNT(*) FROM user' ;   try {   connection . query ( q , ( err , result ) => {     if ( err ) throw err ;     let count = result [ 0 ][ 'COUNT(*)' ];     console . log ( count );     res . render ( "home.ejs" ,{ count });   }); } catch ( err ) {   console . log ( err );   res . send ( "error occured" ); } }); app . listen ( port , () => {   console . log ( `listening to port ${ port } ` ); }); HOME.EJS <! DOCTYPE html > < html lang = "en" > < head >     < meta charset = "UTF-8" >     < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >     < title > home </ title > </ head > < body >     < h2 > Total count of users: <%= count %> </ h2 > </ body > </ html >