From 4fb3b3e7ccbc5360eb5998eac4a1ed526407982b Mon Sep 17 00:00:00 2001 From: Quincy Larson <michaelqlarson@gmail.com> Date: Thu, 2 Jul 2015 13:59:13 -0700 Subject: [PATCH] add more cities and move the bootcamp calculator to field guide entries (still untested). --- public/js/calculator.js | 2 +- {server/utils => public/json}/bootcamps.json | 0 seed/field-guides.json | 169 ++++++++++++++++++- server/boot/randomAPIs.js | 10 -- server/boot/redirects.js | 7 + server/views/resources/calculator.jade | 113 ------------- 6 files changed, 174 insertions(+), 127 deletions(-) rename {server/utils => public/json}/bootcamps.json (100%) diff --git a/public/js/calculator.js b/public/js/calculator.js index 9cd991a9e790cf..207611c9e61352 100644 --- a/public/js/calculator.js +++ b/public/js/calculator.js @@ -1,6 +1,6 @@ $(document).ready(function () { var bootcamps = '' - $.getJSON('/coding-bootcamp-cost-calculator.json', function(data) { + $.getJSON('/json/bootcamps.json', function(data) { bootcamps = data; }); var city = ""; diff --git a/server/utils/bootcamps.json b/public/json/bootcamps.json similarity index 100% rename from server/utils/bootcamps.json rename to public/json/bootcamps.json diff --git a/seed/field-guides.json b/seed/field-guides.json index 7e6ee204306191..79f88fcc6152bb 100644 --- a/seed/field-guides.json +++ b/seed/field-guides.json @@ -284,6 +284,164 @@ "</div>" ] }, + { + "id": "bd7159d9c436eddfaeb5bdef", + "name": "Can I Calculate the True Cost of a Bootcamp with a Coding Bootcamp Cost Calculator?", + "dashedName": "can-i-calculate-the-true-cost-of-a-bootcamp-with-a-coding-bootcamp-cost-calculator", + "description": [ + "<script src=\"/js/calculator.js\"></script>", + "<div class=\"row\">", + " <div class=\"col-xs-12 col-sm-10 col-md-8 col-lg-6 col-sm-offset-1 col-md-offset-2 col-lg-offset-3\">", + " <h1 class=\"text-center\">Coding Bootcamp Cost Calculator</h1>", + " <h3 id=\"chosen\" class=\"text-center text-primary\">Coming from _______, and making $_______, your true costs will be:</h3>", + " <div id=\"city-buttons\">", + " <div class=\"spacer\"></div>", + " <h2 class=\"text-center\">Where do you live?</h2>", + " <div class=\"spacer\"></div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"atlanta\" class=\"btn btn-primary btn-block btn-lg\">Atlanta</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"austin\" class=\"btn btn-primary btn-block btn-lg\">Austin</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"brisbane\" class=\"btn btn-primary btn-block btn-lg\">Brisbane</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"boulder\" class=\"btn btn-primary btn-block btn-lg\">Boulder</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"chicago\" class=\"btn btn-primary btn-block btn-lg\">Chicago</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"denver\" class=\"btn btn-primary btn-block btn-lg\">Denver</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"hong-kong\" class=\"btn btn-primary btn-block btn-lg\">Hong Kong</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"london\" class=\"btn btn-primary btn-block btn-lg\">London</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"los-angeles\" class=\"btn btn-primary btn-block btn-lg\">Los Angeles</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"manchester\" class=\"btn btn-primary btn-block btn-lg\">Manchester</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"melbourne\" class=\"btn btn-primary btn-block btn-lg\">Melbourne</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"new-york-city\" class=\"btn btn-primary btn-block btn-lg\">New York City</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"portland\" class=\"btn btn-primary btn-block btn-lg\">Portland</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"raleigh-durham\" class=\"btn btn-primary btn-block btn-lg\">Raleigh-Durham</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"san-francisco\" class=\"btn btn-primary btn-block btn-lg\">San Fransisco</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"seattle\" class=\"btn btn-primary btn-block btn-lg\">Seattle</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"singapore\" class=\"btn btn-primary btn-block btn-lg\">Singapore</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"toronto\" class=\"btn btn-primary btn-block btn-lg\">Toronto</button>", + " </div>", + " <div class=\"col-xs-12 btn-nav\">", + " <button id=\"other\" class=\"btn btn-primary btn-block btn-lg\">Other</button>", + " <div class=\"spacer\"></div>", + " </div>", + " </div>", + " <div id=\"income\" class=\"initially-hidden\">", + " <div class=\"spacer\"></div>", + " <h2 class=\"text-center\">How much money did you make last year (in USD)?</h2>", + " <div class=\"spacer\"></div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"0\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$0</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"20000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$20,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"30000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$30,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"40000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$40,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"50000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$50,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"60000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$60,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"70000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$70,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"80000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$80,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"90000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$90,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"100000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$100,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"120000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$120,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"140000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$140,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"160000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$160,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"180000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$180,000</button>", + " </div>", + " <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">", + " <button id=\"200000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$200,000</button>", + " <div class=\"spacer\"></div>", + " </div>", + " </div>", + " <div id=\"chart\" class=\"initially-hidden\">", + " <div class=\"d3-centered\">", + " <svg class=\"chart\"></svg>", + " </div>", + " </div>", + " <div id=\"explanation\" class=\"initially-hidden\">", + " <div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">", + " <div class=\"text-center\">", + " <button id=\"transform\" class=\"btn btn-primary btn-lg\">Transform</button>", + " <div class=\"button-spacer\"></div><a href=\"/json/bootcamps.json\">View Data Source JSON</a><span> • </span><a href=\"/coding-bootcamp-cost-calculator\">Recalculate</a>", + " </div>", + " <h3>Notes:</h3>", + " <ol>", + " <li class=\"large-li\">For cash-up-front bootcamps, we assumed an APR of 6% and a term of 3 years.</li>", + " <li class=\"large-li\">For wage-garnishing bootcamps, we assume 18% of first year wages at their advertised starting annual salary of around $100,000.</li>", + " <li class=\"large-li\">We assume a cost of living of $500 for cities like San Francisco and New York City, and $400 per week for everywhere else.</li>", + " <li class=\"large-li\">The most substantial cost for most people is lost wages. A 40-hour-per-week job at the US Federal minimum wage would pay at least $15,000 per year. You can read more about economic cost<a href=\"https://en.wikipedia.org/wiki/Economic_cost\" target=\"_blank\"> here</a>.</li>", + " <li class=\"large-li\">Free Code Camp. We don't charge tuition or garnish wages. We're fully online so you don't have to move. We're self-paced so you don't have to quit your job. Thus, your true cost of attending Free Code Camp will be $0.</li>", + " </ol>", + " <div class=\"spacer\"></div>", + " <div class=\"row\">", + " <div class=\"col-xs-12 col-sm-4 col-md-3\"><img src=\"https://www.evernote.com/l/AHRIBndcq-5GwZVnSy1_D7lskpH4OcJcUKUB/image.png\" class=\"img-responsive testimonial-image\"/></div>", + " <div class=\"col-xs-12 col-sm-8 col-md-9\">", + " <h3>Built by Suzanne Atkinson</h3>", + " <p class=\"large-p\">Suzanne is an emergency medicine physician, triathlon coach and web developer from Pittsburgh. You should  <a href=\"https://twitter.com/intent/user?screen_name=SteelCityCoach\" target=\"_blank\">follow her on Twitter</a>.</p>", + " </div>", + " </div>", + " <div class=\"spacer\"></div>", + " </div>", + " </div>", + " </div>", + "</div>" + ] + }, { "id": "bd7158d9c435eddfaeb5bdef", "name": "Does Free Code Camp have an application process?", @@ -339,7 +497,7 @@ " <tr><td>Atlanta</td><td><a href='https://www.facebook.com/groups/free.code.camp.atlanta/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Atlanta' target='_blank'>Gitter</a></td></tr>", " <tr><td>Auckland</td><td><a href='https://www.facebook.com/groups/awesome.code.camp/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Auckland' target='_blank'>Gitter</a></td></tr>", " <tr><td>Austin</td><td><a href='https://www.facebook.com/groups/free.code.camp.austin/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Austin' target='_blank'>Gitter</a></td></tr>", - " <tr><td>Baltimore</td><td><a href='https://www.facebook.com/groups/free.code.camp.baltimore.md/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Baltimore' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Baltimore</td><td><a href='https://www.facebook.com/groups/free.code.camp.baltimore/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Baltimore' target='_blank'>Gitter</a></td></tr>", " <tr><td>Bandung</td><td><a href='https://www.facebook.com/groups/free.code.camp.bandung/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Bandung' target='_blank'>Gitter</a></td></tr>", " <tr><td>Bangkok</td><td><a href='https://www.facebook.com/groups/free.code.camp.bangkok/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Bangkok' target='_blank'>Gitter</a></td></tr>", " <tr><td>Belem</td><td><a href='https://www.facebook.com/groups/free.code.camp.belem/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Belem' target='_blank'>Gitter</a></td></tr>", @@ -379,6 +537,7 @@ " <tr><td>Chicago</td><td><a href='https://www.facebook.com/groups/free.code.camp.chicago/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Chicago' target='_blank'>Gitter</a></td></tr>", " <tr><td>Cincinnati</td><td><a href='https://www.facebook.com/groups/free.code.camp.cincinnati/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Cincinnati' target='_blank'>Gitter</a></td></tr>", " <tr><td>Clarksville</td><td><a href='https://www.facebook.com/groups/free.code.camp.clarksville.TN/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Clarksville' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Cleveland</td><td><a href='https://www.facebook.com/groups/free.code.camp.cleveland/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Cleveland' target='_blank'>Gitter</a></td></tr>", " <tr><td>Cluj</td><td><a href='https://www.facebook.com/groups/free.code.camp.cluj' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Cluj' target='_blank'>Gitter</a></td></tr>", " <tr><td>Coimbatore</td><td><a href='https://www.facebook.com/groups/free.code.camp.coimbatore' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Coimbatore' target='_blank'>Gitter</a></td></tr>", " <tr><td>Coventry</td><td><a href='https://www.facebook.com/groups/free.code.camp.coventry/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Coventry' target='_blank'>Gitter</a></td></tr>", @@ -410,7 +569,6 @@ " <tr><td>Guarapuava</td><td><a href='https://www.facebook.com/groups/free.code.camp.guarapuava/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Guarapuava' target='_blank'>Gitter</a></td></tr>", " <tr><td>Hampton Roads</td><td><a href='https://www.facebook.com/groups/free.code.camp.hamptonroads/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/HamptonRoads' target='_blank'>Gitter</a></td></tr>", " <tr><td>Hanoi</td><td><a href='https://www.facebook.com/groups/free.code.camp.hanoi/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Hanoi' target='_blank'>Gitter</a></td></tr>", - " <tr><td>Harcourt</td><td><a href='https://www.facebook.com/groups/free.code.camp.port.harcourt/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Harcourt' target='_blank'>Gitter</a></td></tr>", " <tr><td>Hartford</td><td><a href='https://www.facebook.com/groups/free.code.camp.hartford.connecticut/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Hartford' target='_blank'>Gitter</a></td></tr>", " <tr><td>Hermosillo</td><td><a href='https://www.facebook.com/groups/free.code.camp.Hermosillo/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Hermosillo' target='_blank'>Gitter</a></td></tr>", " <tr><td>Ho Chi Minh City</td><td><a href='https://www.facebook.com/groups/free.code.camp.hochiminhcity/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/HoChiMinhCity' target='_blank'>Gitter</a></td></tr>", @@ -423,11 +581,13 @@ " <tr><td>Irkutsk</td><td><a href='https://www.facebook.com/groups/free.code.camp.irkutsk/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Irkutsk' target='_blank'>Gitter</a></td></tr>", " <tr><td>Islamabad</td><td><a href='https://www.facebook.com/groups/free.code.camp.islamabad/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Islamabad' target='_blank'>Gitter</a></td></tr>", " <tr><td>Ivano Frankivsk</td><td><a href='https://www.facebook.com/groups/free.code.camp.ivano.frankivsk/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/IvanoFrankivsk' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Jaipur</td><td><a href='https://www.facebook.com/groups/free.code.camp.jaipur/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Jaipur' target='_blank'>Gitter</a></td></tr>", " <tr><td>Jakarta</td><td><a href='https://www.facebook.com/groups/free.code.camp.jakarta/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Jakarta' target='_blank'>Gitter</a></td></tr>", " <tr><td>Joao Pessoa</td><td><a href='https://www.facebook.com/groups/free.code.camp.joao.pessoa/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/JoaoPessoa' target='_blank'>Gitter</a></td></tr>", " <tr><td>Johannesburg</td><td><a href='https://www.facebook.com/groups/free.code.camp.johannesburg/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Johannesburg' target='_blank'>Gitter</a></td></tr>", " <tr><td>Kaduna</td><td><a href='https://www.facebook.com/groups/free.code.camp.kaduna/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kaduna' target='_blank'>Gitter</a></td></tr>", " <tr><td>Kalamazoo</td><td><a href='https://www.facebook.com/groups/free.code.camp.kalamazoo/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kalamazoo' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Kampala</td><td><a href='https://www.facebook.com/groups/free.code.camp.kampala/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kampala' target='_blank'>Gitter</a></td></tr>", " <tr><td>Kansas City</td><td><a href='https://www.facebook.com/groups/free.code.camp.kansascity/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/KansasCity' target='_blank'>Gitter</a></td></tr>", " <tr><td>Karachi</td><td><a href='https://www.facebook.com/groups/free.code.camp.karachi/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Karachi' target='_blank'>Gitter</a></td></tr>", " <tr><td>Kathmandu</td><td><a href='https://www.facebook.com/groups/free.code.camp.kathmandu/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Kathmandu' target='_blank'>Gitter</a></td></tr>", @@ -450,7 +610,7 @@ " <tr><td>Los Angeles</td><td><a href='https://www.facebook.com/groups/free.code.camp.los.angeles/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/FCCLosAngeles' target='_blank'>Gitter</a></td></tr>", " <tr><td>Lubbock</td><td><a href='https://www.facebook.com/groups/free.code.camp.lubbock/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Lubbock' target='_blank'>Gitter</a></td></tr>", " <tr><td>Madrid</td><td><a href='https://www.facebook.com/groups/free.code.camp.madrid/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Madrid' target='_blank'>Gitter</a></td></tr>", - " <tr><td>Manchester</td><td><a href='https://www.facebook.com/groups/free.code.camp.manchester/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Manchester' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Manchester, UK</td><td><a href='https://www.facebook.com/groups/free.code.camp.manchester/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Manchester' target='_blank'>Gitter</a></td></tr>", " <tr><td>Manila</td><td><a href='https://www.facebook.com/groups/free.code.camp.manila/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Manila' target='_blank'>Gitter</a></td></tr>", " <tr><td>Melbourne</td><td><a href='https://www.facebook.com/groups/free.code.camp.Melbourne/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Melbourne' target='_blank'>Gitter</a></td></tr>", " <tr><td>Mexico City</td><td><a href='https://www.facebook.com/groups/free.code.camp.mexico.df/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/MexicoCity' target='_blank'>Gitter</a></td></tr>", @@ -459,6 +619,7 @@ " <tr><td>Minneapolis</td><td><a href='https://www.facebook.com/groups/free.code.camp.minneapolis/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Minneapolis' target='_blank'>Gitter</a></td></tr>", " <tr><td>Mississippi Gulf Coast</td><td><a href='https://www.facebook.com/groups/free.code.camp.msgulfcoast/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/MississippiGulfCoast' target='_blank'>Gitter</a></td></tr>", " <tr><td>Missoula</td><td><a href='https://www.facebook.com/groups/free.code.camp.missoula/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Missoula' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Monterrey</td><td><a href='https://www.facebook.com/groups/free.code.camp.monterrey/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Monterrey' target='_blank'>Gitter</a></td></tr>", " <tr><td>Montgomery</td><td><a href='https://www.facebook.com/groups/free.code.camp.montgomery.alabama/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Montgomery' target='_blank'>Gitter</a></td></tr>", " <tr><td>Montreal</td><td><a href='https://www.facebook.com/groups/free.code.camp.montreal/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Montreal' target='_blank'>Gitter</a></td></tr>", " <tr><td>Moscow</td><td><a href='https://www.facebook.com/groups/free.code.camp.moscow/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Moscow' target='_blank'>Gitter</a></td></tr>", @@ -489,6 +650,7 @@ " <tr><td>Porto</td><td><a href='https://www.facebook.com/groups/free.code.camp.porto/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Porto' target='_blank'>Gitter</a></td></tr>", " <tr><td>Pune</td><td><a href='https://www.facebook.com/groups/free.code.camp.pune/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Pune' target='_blank'>Gitter</a></td></tr>", " <tr><td>Phoenix</td><td><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Phoenix' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Port Harcourt</td><td><a href='https://www.facebook.com/groups/free.code.camp.port.harcourt/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Harcourt' target='_blank'>Gitter</a></td></tr>", " <tr><td>Portland</td><td><a href='https://www.facebook.com/groups/free.code.camp.portland/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Portland' target='_blank'>Gitter</a></td></tr>", " <tr><td>Prescott</td><td><a href='https://www.facebook.com/groups/free.code.camp.northern.arizona/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/NorthernArizona' target='_blank'>Gitter</a></td></tr>", " <tr><td>Pristina</td><td><a href='https://www.facebook.com/groups/free.code.camp.pristina/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Pristina' target='_blank'>Gitter</a></td></tr>", @@ -518,6 +680,7 @@ " <tr><td>Scottsdale</td><td><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Phoenix' target='_blank'>Gitter</a></td></tr>", " <tr><td>Sedona</td><td><a href='https://www.facebook.com/groups/free.code.camp.northern.arizona/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/NorthernArizona' target='_blank'>Gitter</a></td></tr>", " <tr><td>Seattle</td><td><a href='https://www.facebook.com/groups/free.code.camp.seattle/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Seattle' target='_blank'>Gitter</a></td></tr>", + " <tr><td>Seoul</td><td><a href='https://www.facebook.com/groups/free.code.camp.seoul/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Seoul' target='_blank'>Gitter</a></td></tr>", " <tr><td>Sidoarjo</td><td><a href='https://www.facebook.com/groups/free.code.camp.sidoarjo/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Sidoarjo' target='_blank'>Gitter</a></td></tr>", " <tr><td>Singapore</td><td><a href='https://www.facebook.com/groups/free.code.camp.singapore/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Singapore' target='_blank'>Gitter</a></td></tr>", " <tr><td>Skopje</td><td><a href='https://www.facebook.com/groups/free.code.camp.skopje/' target='_blank'>Facebook</a> </td><td><a href='https://gitter.im/freecodecamp/Skopje' target='_blank'>Gitter</a></td></tr>", diff --git a/server/boot/randomAPIs.js b/server/boot/randomAPIs.js index e891c929bdf46b..35e892d37648ad 100644 --- a/server/boot/randomAPIs.js +++ b/server/boot/randomAPIs.js @@ -5,7 +5,6 @@ var Rx = require('rx'), request = require('request'), debug = require('debug')('freecc:cntr:resources'), constantStrings = require('../utils/constantStrings.json'), - bootcampJson = require('../utils/bootcamps.json'), secrets = require('../../config/secrets'); module.exports = function(app) { @@ -22,8 +21,6 @@ module.exports = function(app) { router.get('/api/codepen/twitter/:screenName', twitter); router.get('/sitemap.xml', sitemap); router.get('/chat', chat); - router.get('/coding-bootcamp-cost-calculator', bootcampCalculator); - router.get('/coding-bootcamp-cost-calculator.json', bootcampCalculatorJson); router.get('/twitch', twitch); router.get('/pmi-acp-agile-project-managers', agileProjectManagers); router.get('/pmi-acp-agile-project-managers-form', agileProjectManagersForm); @@ -209,13 +206,6 @@ module.exports = function(app) { res.redirect('//gitter.im/FreeCodeCamp/FreeCodeCamp'); } - function bootcampCalculator(req, res) { - res.render('resources/calculator', { - title: 'Coding Bootcamp Cost Calculator', - bootcampJson: bootcampJson - }); - } - function bootcampCalculatorJson(req, res) { res.send(bootcampJson); } diff --git a/server/boot/redirects.js b/server/boot/redirects.js index b07ac3b13e77da..ee6709d428ed22 100644 --- a/server/boot/redirects.js +++ b/server/boot/redirects.js @@ -8,6 +8,13 @@ module.exports = function(app) { ); }); + router.get('/coding-bootcamp-cost-calculator', function(req, res) { + res.redirect( + 301, + '/field-guide/can-i-calculate-the-true-cost-of-a-bootcamp-with-a-coding-bootcamp-cost-calculator' + ); + }); + router.get('/agile', function(req, res) { res.redirect(301, '/pmi-acp-agile-project-managers'); }); diff --git a/server/views/resources/calculator.jade b/server/views/resources/calculator.jade index 43736531408849..6dab6c2a668f25 100644 --- a/server/views/resources/calculator.jade +++ b/server/views/resources/calculator.jade @@ -1,115 +1,2 @@ extends ../layout-wide block content - script(src="../../../js/calculator.js") - .row - .col-xs-12.col-sm-10.col-md-8.col-lg-6.col-sm-offset-1.col-md-offset-2.col-lg-offset-3 - h1.text-center Coding Bootcamp Cost Calculator - h3.text-center.text-primary#chosen Coming from _______, and making $_______, your true costs will be: - #city-buttons - .spacer - h2.text-center Where do you live? - .spacer - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#atlanta.btn.btn-primary.btn-block.btn-lg Atlanta - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#austin.btn.btn-primary.btn-block.btn-lg Austin - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#brisbane.btn.btn-primary.btn-block.btn-lg Brisbane - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#boulder.btn.btn-primary.btn-block.btn-lg Boulder - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#chicago.btn.btn-primary.btn-block.btn-lg Chicago - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#denver.btn.btn-primary.btn-block.btn-lg Denver - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#hong-kong.btn.btn-primary.btn-block.btn-lg Hong Kong - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#london.btn.btn-primary.btn-block.btn-lg London - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#los-angeles.btn.btn-primary.btn-block.btn-lg Los Angeles - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#manchester.btn.btn-primary.btn-block.btn-lg Manchester - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#melbourne.btn.btn-primary.btn-block.btn-lg Melbourne - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#new-york-city.btn.btn-primary.btn-block.btn-lg New York City - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#portland.btn.btn-primary.btn-block.btn-lg Portland - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#raleigh-durham.btn.btn-primary.btn-block.btn-lg Raleigh-Durham - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#san-francisco.btn.btn-primary.btn-block.btn-lg San Fransisco - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#seattle.btn.btn-primary.btn-block.btn-lg Seattle - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#singapore.btn.btn-primary.btn-block.btn-lg Singapore - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#toronto.btn.btn-primary.btn-block.btn-lg Toronto - .col-xs-12.btn-nav - button#other.btn.btn-primary.btn-block.btn-lg Other - .spacer - #income.initially-hidden - .spacer - h2.text-center How much money did you make last year (in USD)? - .spacer - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#0.btn.btn-primary.btn-block.btn-lg(href='#') $0 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#20000.btn.btn-primary.btn-block.btn-lg(href='#') $20,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#30000.btn.btn-primary.btn-block.btn-lg(href='#') $30,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#40000.btn.btn-primary.btn-block.btn-lg(href='#') $40,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#50000.btn.btn-primary.btn-block.btn-lg(href='#') $50,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#60000.btn.btn-primary.btn-block.btn-lg(href='#') $60,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#70000.btn.btn-primary.btn-block.btn-lg(href='#') $70,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#80000.btn.btn-primary.btn-block.btn-lg(href='#') $80,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#90000.btn.btn-primary.btn-block.btn-lg(href='#') $90,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#100000.btn.btn-primary.btn-block.btn-lg(href='#') $100,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#120000.btn.btn-primary.btn-block.btn-lg(href='#') $120,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#140000.btn.btn-primary.btn-block.btn-lg(href='#') $140,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#160000.btn.btn-primary.btn-block.btn-lg(href='#') $160,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#180000.btn.btn-primary.btn-block.btn-lg(href='#') $180,000 - .col-xs-12.col-sm-12.col-md-4.btn-nav - button#200000.btn.btn-primary.btn-block.btn-lg(href='#') $200,000 - .spacer - #chart.initially-hidden - .d3-centered - svg.chart - #explanation.initially-hidden - .col-xs-12.col-sm-10.col-sm-offset-1 - .text-center - button#transform.btn.btn-primary.btn-lg Transform - .button-spacer - a(href='/coding-bootcamp-cost-calculator.json') View Data Source JSON - span • - a(href='/coding-bootcamp-cost-calculator') Recalculate - h3 Notes: - ol - li.large-li For cash-up-front bootcamps, we assumed an APR of 6% and a term of 3 years. - li.large-li For wage-garnishing bootcamps, we assume 18% of first year wages at their advertised starting annual salary of around $100,000. - li.large-li We assume a cost of living of $500 for cities like San Francisco and New York City, and $400 per week for everywhere else. - li.large-li The most substantial cost for most people is lost wages. A 40-hour-per-week job at the US Federal minimum wage would pay at least $15,000 per year. You can read more about economic cost - a(href='https://en.wikipedia.org/wiki/Economic_cost' target='_blank') here - | . - li.large-li Free Code Camp. We don't charge tuition or garnish wages. We're fully online so you don't have to move. We're self-paced so you don't have to quit your job. Thus, your true cost of attending Free Code Camp will be $0. - .spacer - .row - .col-xs-12.col-sm-4.col-md-3 - img.img-responsive.testimonial-image(src='https://www.evernote.com/l/AHRIBndcq-5GwZVnSy1_D7lskpH4OcJcUKUB/image.png') - .col-xs-12.col-sm-8.col-md-9 - h3 Built by Suzanne Atkinson - p.large-p Suzanne is an emergency medicine physician, triathlon coach and web developer from Pittsburgh. You should   - a(href='https://twitter.com/intent/user?screen_name=SteelCityCoach' target='_blank') follow her on Twitter - | . - .spacer