The Basic of Node.JS (before Classes)
Well, if you are interested in the developer intern position at Fresno State DXI. Here is the very minimum required knowledge.
Must Watch Videos:
- https://youtu.be/TlB_eWDSMt4 ( Node.JS )
- https://youtu.be/gp5H0Vw39yw ( TypeScript )
Quick Assessments
PART ONE: Read a local JOSN file (data.json); find the user record of firstname = ‘jane’; capitalize the the first letter to ‘Jane’ ( not ALL records, just jane ); update the JSON object
data.json example from https://www.learningcontainer.com/sample-json-file/#JSON_file_example_1{
“users”: [
{
“userId”: 1,
“firstName”: “Krish”,
“lastName”: “Lee”,
“phoneNumber”: “123456”,
“emailAddress”: “krish.lee@learningcontainer.com”
},
{
“userId”: 2,
“firstName”: “racks”,
“lastName”: “jacson”,
“phoneNumber”: “123456”,
“emailAddress”: “racks.jacson@learningcontainer.com”
},
{
“userId”: 3,
“firstName”: “denial”,
“lastName”: “roast”,
“phoneNumber”: “33333333”,
“emailAddress”: “denial.roast@learningcontainer.com”
},
{
“userId”: 4,
“firstName”: “devid”,
“lastName”: “neo”,
“phoneNumber”: “222222222”,
“emailAddress”: “devid.neo@learningcontainer.com”
},
{
“userId”: 5,
“firstName”: “jone”,
“lastName”: “mac”,
“phoneNumber”: “111111111”,
“emailAddress”: “jone.mac@learningcontainer.com”
}
]
}
Sample Solution (using ‘require’)
const database = require(‘./data.json’);// Replace firstName jane with first lette capitalized
for(var key in database.users){
if ( fn = database.users[key].firstName.match(/jone/) ){
database.users[key].firstName = fn.input[0].toUpperCase() + fn.input.slice(1);
}
}console.log(database);
Output

PART TWO: Continue with Part One, but loading a remote JSON file ( https://jsontestfiles2022.s3.us-east-1.amazonaws.com/data.json )
Example Solution
const https = require('https');
let url = "https://jsontestfiles2022.s3.us-east-1.amazonaws.com/data.json";
https.get(url,(res) => {
let body = "";
res.on("data", (chunk) => {
body += chunk;
});
res.on("end", () => {
try {
database = JSON.parse(body);
for(var key in database.users){
if ( fn = database.users[key].firstName.match(/jone/) ){
database.users[key].firstName = fn.input[0].toUpperCase() + fn.input.slice(1);
}
}
console.log(database);
} catch (error) {
console.error(error.message);
};
});
}).on("error", (error) => {
console.error(error.message);
});
PART THREE: Create and Load Module — app.js ( this main ) loading logger.js ( module ) to echo out a message
logger.js
function logger ( message ) {
console.log(message);
}
module.exports = logger;
app.js
var log = require ('./logger3');
log('Part 3');
Output:
Part 3
PART FOUR: Events
1. register a Listener (messageLogged) to console log a JSON message
2. raise an Event (messageLogged) and send over an JSON of two elements id and name { id: 100, name: “Max }
const EventEmitter = require ('events');
const emitter = new EventEmitter();
// Register a Listener to console.log of the JSON object
emitter.on('messageLogged', ( noise ) => {
console.log("Message Logged: " + JSON.stringify(noise) );
})
// Raise an Event and passing id and name
emitter.emit('messageLogged', {id: 100, name: "Max"});
###