diff --git a/public/js/calculator.js b/public/js/calculator.js index 9cd991a9e7..207611c9e6 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 7e6ee20430..79f88fcc61 100644 --- a/seed/field-guides.json +++ b/seed/field-guides.json @@ -284,6 +284,164 @@ "" ] }, + { + "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": [ + "", + "
", + "
", + "

Coding Bootcamp Cost Calculator

", + "

Coming from _______, and making $_______, your true costs will be:

", + "
", + "
", + "

Where do you live?

", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + "
", + "
", + "
", + "

How much money did you make last year (in USD)?

", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + " ", + "
", + "
", + "
", + "
", + "
", + " ", + "
", + "
", + "
", + "
", + "
", + " ", + "
View Data Source JSON  •  Recalculate", + "
", + "

Notes:

", + "
    ", + "
  1. For cash-up-front bootcamps, we assumed an APR of 6% and a term of 3 years.
  2. ", + "
  3. For wage-garnishing bootcamps, we assume 18% of first year wages at their advertised starting annual salary of around $100,000.
  4. ", + "
  5. We assume a cost of living of $500 for cities like San Francisco and New York City, and $400 per week for everywhere else.
  6. ", + "
  7. 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 here.
  8. ", + "
  9. 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.
  10. ", + "
", + "
", + "
", + "
", + "
", + "

Built by Suzanne Atkinson

", + "

Suzanne is an emergency medicine physician, triathlon coach and web developer from Pittsburgh. You should  follow her on Twitter.

", + "
", + "
", + "
", + "
", + "
", + "
", + "
" + ] + }, { "id": "bd7158d9c435eddfaeb5bdef", "name": "Does Free Code Camp have an application process?", @@ -339,7 +497,7 @@ " AtlantaFacebook Gitter", " AucklandFacebook Gitter", " AustinFacebook Gitter", - " BaltimoreFacebook Gitter", + " BaltimoreFacebook Gitter", " BandungFacebook Gitter", " BangkokFacebook Gitter", " BelemFacebook Gitter", @@ -379,6 +537,7 @@ " ChicagoFacebook Gitter", " CincinnatiFacebook Gitter", " ClarksvilleFacebook Gitter", + " ClevelandFacebook Gitter", " ClujFacebook Gitter", " CoimbatoreFacebook Gitter", " CoventryFacebook Gitter", @@ -410,7 +569,6 @@ " GuarapuavaFacebook Gitter", " Hampton RoadsFacebook Gitter", " HanoiFacebook Gitter", - " HarcourtFacebook Gitter", " HartfordFacebook Gitter", " HermosilloFacebook Gitter", " Ho Chi Minh CityFacebook Gitter", @@ -423,11 +581,13 @@ " IrkutskFacebook Gitter", " IslamabadFacebook Gitter", " Ivano FrankivskFacebook Gitter", + " JaipurFacebook Gitter", " JakartaFacebook Gitter", " Joao PessoaFacebook Gitter", " JohannesburgFacebook Gitter", " KadunaFacebook Gitter", " KalamazooFacebook Gitter", + " KampalaFacebook Gitter", " Kansas CityFacebook Gitter", " KarachiFacebook Gitter", " KathmanduFacebook Gitter", @@ -450,7 +610,7 @@ " Los AngelesFacebook Gitter", " LubbockFacebook Gitter", " MadridFacebook Gitter", - " ManchesterFacebook Gitter", + " Manchester, UKFacebook Gitter", " ManilaFacebook Gitter", " MelbourneFacebook Gitter", " Mexico CityFacebook Gitter", @@ -459,6 +619,7 @@ " MinneapolisFacebook Gitter", " Mississippi Gulf CoastFacebook Gitter", " MissoulaFacebook Gitter", + " MonterreyFacebook Gitter", " MontgomeryFacebook Gitter", " MontrealFacebook Gitter", " MoscowFacebook Gitter", @@ -489,6 +650,7 @@ " PortoFacebook Gitter", " PuneFacebook Gitter", " PhoenixFacebook Gitter", + " Port HarcourtFacebook Gitter", " PortlandFacebook Gitter", " PrescottFacebook Gitter", " PristinaFacebook Gitter", @@ -518,6 +680,7 @@ " ScottsdaleFacebook Gitter", " SedonaFacebook Gitter", " SeattleFacebook Gitter", + " SeoulFacebook Gitter", " SidoarjoFacebook Gitter", " SingaporeFacebook Gitter", " SkopjeFacebook Gitter", diff --git a/server/boot/randomAPIs.js b/server/boot/randomAPIs.js index e891c929bd..35e892d376 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 b07ac3b13e..ee6709d428 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 4373653140..6dab6c2a66 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