Question: organize that data to graph it as shown below with the names Sam and Samantha One of the neat things about this project is that
organize that data to graph it as shown below with the names Sam and Samantha

One of the neat things about this project is that it uses real data (and lots of it!). There are over 4,500 names in the database. The data just records literally what people put on the forms, so there are things like "A" and "Baby" recorded as names (the data is more cleaned up in the later years). We will not worry about that, and we will not combine names that are similar in some sense "Cathy" and "Catherine" and "Kathryn" and "Katie" and "Kati" will all count as different names. Looking at the data, long names ("Michael") are becoming more popular compared to their short versions ("Mike").
Requirements
For this assignment you will build a database-backed Node.js/Express/Jade/Mongoose web app to allow people to explore the baby names dataset.
You must use the datafile given (see Datafile section below) for populating your MongoDB database. Include in the root of your project folder a file named populate-database.txt that includes the full mongoimport command you used to load the data into your database.
Your code must convert the 0's to 1001 (see note in Datafile section below), not necessarily replacing them in the database, you may do this in your client-side Javascript.
The graphing will use Javascript and whatever Javascript graphing library you wish.
The graphing must be done as shown, namely, with the most popular (rank 1) at the top.
When the user enters a name your Javascript code must make an AJAX request (I strongly suggest you use jQuery) back to your Node.js/Express/Jade/Mongoose web app to get the data for that particular name.
The Node.js/Express/Jade/Mongoose web app will then look the name up in a MongoDB database and return the data or if not found an appropriate message.
Once the Javascript web page gets the response back it will either add the data to the existing graph (if the name was found) or let the user know that the name was not found.
You will have at least 2 routes in your web app -- the root, that is, /, will contain the web app itself. The other route will allow for names to be looked up in the database.
You must sanitize both the input from Javascript web page, as well as, the data coming out of the database.
Your HTML must validate as HTML5.
Any styling must be done as an external stylesheet that must validate as CSS3.
You must use Bootstrap (from CDN) to format your page.
DATAFILE: names-data.csv
Abe,248,328,532,764,733,0,0,0,0,0,0 Abel,664,613,626,575,542,491,497,422,381,385,354 Abigail,0,0,0,0,854,654,615,317,150,50,14 Abigale,0,0,0,0,0,0,0,0,0,0,959 Abigayle,0,0,0,0,0,0,0,0,0,0,720 Abner,569,637,930,0,0,0,0,0,977,0,996 Abraham,144,158,261,350,408,410,503,347,274,238,214 Abram,677,735,0,0,0,0,0,0,875,0,802 Abril,0,0,0,0,0,0,0,0,0,0,869 Ada,85,110,154,196,244,331,445,627,962,0,0 Adah,727,860,0,0,0,0,0,0,0,0,0 Adalberto,0,0,0,0,722,773,725,863,891,0,0 Adaline,832,828,0,0,0,0,0,0,0,0,0 Adam,178,200,280,376,444,407,144,38,22,39,46 Adan,0,0,0,985,920,977,936,729,601,516,504 Addie,165,213,249,324,460,686,0,0,0,0,0 Addison,779,759,895,0,0,0,0,0,794,585,323 Adela,444,433,544,623,697,814,0,0,0,0,0 Adelaida,0,0,0,863,897,0,0,0,0,0,0 Adelaide,253,270,386,642,962,0,0,0,0,0,0 Adelard,924,0,0,0,0,0,0,0,0,0,0 Adelbert,767,760,931,0,0,0,0,0,0,0,0 Adele,200,215,233,318,437,465,714,0,0,0,0 Adelia,549,815,909,0,0,0,0,0,0,0,0 Adelina,672,698,727,748,0,0,0,0,0,0,0 Adeline,194,171,201,395,631,0,0,0,0,0,812 Adell,600,544,590,816,0,0,0,0,0,0,0 Adella,698,558,910,857,0,0,0,0,0,0,0 Adelle,795,816,850,0,0,0,0,0,0,0,0 Aden,0,0,0,0,0,0,0,0,0,0,901 Adolf,581,854,0,0,0,0,0,0,0,0,0 Adolfo,822,785,662,551,691,691,648,713,783,609,556 Adolph,156,185,281,406,640,734,827,0,0,0,0 Adolphus,857,797,972,883,0,0,0,0,0,0,0 Adonis,0,0,0,0,0,0,0,0,0,893,752 Adrain,0,0,0,0,0,0,0,831,959,0,0 Adrian,348,379,395,394,401,374,297,153,107,95,77 Adriana,0,0,0,0,0,0,649,385,225,142,116 Adriane,0,0,0,0,0,0,0,892,847,0,0 Adrianna,0,0,0,0,0,0,0,0,557,245,217 Adrianne,0,0,0,0,0,0,939,648,575,0,0 Adriel,0,0,0,0,0,0,0,0,0,0,928 Adrien,0,0,0,0,0,0,0,0,0,845,935 Adrienne,699,730,633,405,432,336,342,201,189,335,529 Afton,0,964,0,0,0,0,0,0,0,0,0 Agatha,383,454,593,850,0,0,0,0,0,0,0 Agnes,37,46,68,134,229,372,612,0,0,0,0 Agustin,553,589,517,437,543,555,678,642,633,659,578 Agustina,0,981,0,0,0,0,0,0,0,0,0 Ahmad,0,0,0,0,0,0,0,787,613,560,448 Ahmed,0,0,0,0,0,0,0,960,735,652,479 Aida,785,661,414,274,255,328,474,657,1000,0,0 Aidan,0,0,0,0,0,0,0,0,0,370,115
Salina,0,0,0,0,0,0,0,957,932,972,0 Sallie,153,204,238,286,321,480,695,0,0,0,0 Sally,169,162,172,70,69,93,158,271,372,592,717 Salma,0,0,0,0,0,0,0,0,0,0,684 Salome,843,0,0,0,0,0,0,0,0,0,0 Salvador,467,423,304,322,337,355,421,335,300,300,331 Salvatore,201,170,170,215,264,309,334,411,479,586,583 Sam,58,69,99,131,168,236,278,380,467,408,466
Samantha,0,0,0,0,0,0,272,107,26,5,7 Samara,0,0,0,0,0,0,0,0,0,0,886 Samir,0,0,0,0,0,0,0,0,920,0,798 Sammie,537,545,351,325,333,396,565,772,930,0,0 Sammy,0,887,544,299,202,262,321,395,575,639,755 Samson,0,0,0,0,0,0,0,0,0,0,915 Samuel,31,41,46,60,61,71,83,61,52,35,28 Sandi,0,0,0,0,704,864,621,695,0,0,0 Sandra,0,942,606,50,6,12,11,39,94,168,257
Terrance,0,0,0,615,284,239,265,206,206,285,410 Terrell,0,0,0,935,551,526,508,378,295,335,423 Terrence,0,0,0,436,222,222,237,209,239,334,491 Terri,0,0,0,0,374,95,63,146,325,827,0 Terrie,0,0,0,0,634,330,345,819,0,0,0 Terrill,0,0,0,0,970,0,0,880,0,0,0 Terry,650,611,501,150,32,29,37,71,125,233,333 Tess,0,0,0,0,0,0,0,0,933,623,553 Tessa,0,0,0,0,0,0,0,626,381,239,274 Tessie,349,317,471,792,0,0,0,0,0,0,0 Tevin,0,0,0,0,0,0,0,0,0,304,824 Thad,921,938,988,0,0,0,585,622,0,0,0 Thaddeus,579,375,380,566,565,504,600,494,550,720,768 Thalia,0,0,0,0,0,0,0,0,0,536,563 Thea,986,0,0,0,0,0,997,0,0,0,0 Theadore,0,0,820,866,994,975,0,0,0,0,0 Theda,0,492,492,658,0,0,0,0,0,0,0 Thelma,38,28,35,67,143,237,391,711,0,0,0 Theo,451,618,681,841,0,0,0,0,0,0,0 Theodora,599,623,612,731,696,912,0,0,0,0,0 Theodore,42,63,67,82,101,118,154,193,215,277,313 Theola,0,0,941,0,0,0,0,0,0,0,0 Theresa,94,96,76,74,90,41,43,82,135,256,420
Name Surfer Name Name Surfer 200 100 600 800 1000 1900 1910 1920 1980 1940 1950 1960 1970 1980 1990 2000 Year Sam Samantha Name Surfer Name Name Surfer 200 100 600 800 1000 1900 1910 1920 1980 1940 1950 1960 1970 1980 1990 2000 Year Sam Samantha
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
