update about page and move stats into partial that is also displayed on about page. Fix Trello API issue on stats page

pull/9/head^2
Michael Q Larson 2015-01-06 23:08:54 -08:00
parent 574cb3d957
commit 91638ade81
6 changed files with 190 additions and 106 deletions

View File

@ -30,28 +30,29 @@ module.exports = {
var date2 = new Date();
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var daysRunning = Math.ceil(timeDiff / (1000 * 3600 * 24));
var nonprofitProjects = client.get('https://trello.com/1/boards/BA3xVpz9/cards?key=' + secrets.trello.key, function(data, response){return data.length;});
User.count({}, function(err, users) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 2}}, function(err, c2) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 4}}, function(err, c4) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 9}}, function(err, c9) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 19}}, function(err, c19) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 29}}, function(err, c29) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 39}}, function(err, c39) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 53}}, function(err, all) { if (err) { debug('User err: ', err); next(err); }
res.render('resources/stats', {
title: 'Free Code Camp Stats:',
daysRunning: daysRunning,
users: users,
nonprofitProjects: nonprofitProjects, /* can't yet get this to work. Async issue?
Hardcoded value for now and created a Trello card */
c2: c2,
c4: c4,
c9: c9,
c19: c19,
c29: c29,
c39: c39,
all: all
client.get('https://trello.com/1/boards/BA3xVpz9/cards?key=' + secrets.trello.key, function(trello, response) {
var nonprofitProjects = (trello && trello.length) || 15;
User.count({}, function(err, users) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 2}}, function(err, c2) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 4}}, function(err, c4) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 9}}, function(err, c9) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 19}}, function(err, c19) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 29}}, function(err, c29) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 39}}, function(err, c39) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 53}}, function(err, all) { if (err) { debug('User err: ', err); next(err); }
res.render('resources/stats', {
title: 'Free Code Camp Stats:',
daysRunning: daysRunning,
users: users,
nonprofitProjects: nonprofitProjects,
c2: c2,
c4: c4,
c9: c9,
c19: c19,
c29: c29,
c39: c39,
all: all
});
});
});
});
@ -131,8 +132,41 @@ module.exports = {
},
about: function(req, res) {
res.render('resources/about', {
title: 'About Free Code Camp and Our Team of Volunteers'
var date1 = new Date("10/15/2014");
var date2 = new Date();
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var daysRunning = Math.ceil(timeDiff / (1000 * 3600 * 24));
client.get('https://trello.com/1/boards/BA3xVpz9/cards?key=' + secrets.trello.key, function(trello, response) {
var nonprofitProjects = trello.length || 15;
User.count({}, function(err, users) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 2}}, function(err, c2) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 4}}, function(err, c4) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 9}}, function(err, c9) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 19}}, function(err, c19) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 29}}, function(err, c29) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 39}}, function(err, c39) { if (err) { debug('User err: ', err); next(err); }
User.count({'points': {'$gt': 53}}, function(err, all) { if (err) { debug('User err: ', err); next(err); }
res.render('resources/about', {
title: 'About Free Code Camp and Our Team of Volunteers',
daysRunning: daysRunning,
users: users,
nonprofitProjects: nonprofitProjects,
c2: c2,
c4: c4,
c9: c9,
c19: c19,
c29: c29,
c39: c39,
all: all
});
});
});
});
});
});
});
});
});
});
},

View File

@ -37,5 +37,5 @@ block content
br
a.btn.nonprofit-cta.btn-success(href="/nonprofits") I'm with a nonprofit and want help coding something
include partials/about-us
include partials/about
include partials/faq

View File

@ -6,7 +6,41 @@
.masonry-row
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| Getting back on track with
a(href='https://twitter.com/FreeCodeCamp') @freecodecamp
| and committing to a new career in 2015!
| — Jen (@jenbestyoga)
a(href='https://twitter.com/jenbestyoga/status/552261958221963264') January 6, 2015
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
| I can't get enough of the free tutorials you're offering. Thanks for being awesome! Will be referring friends your way!
| — Chris Pearson (@CPearsonnn)
a(href='https://twitter.com/CPearsonnn/status/551513789401559042') January 3, 2015
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| Great way to start learning code, it's the future.
a(href='http://t.co/pNwDAQ9xFe') http://t.co/pNwDAQ9xFe
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
a(href='https://twitter.com/hashtag/Code?src=hash') #Code
a(href='https://twitter.com/hashtag/html?src=hash') #html
a(href='https://twitter.com/hashtag/css?src=hash') #css
a(href='https://twitter.com/hashtag/jquery?src=hash') #jquery
a(href='https://twitter.com/hashtag/javascript?src=hash') #javascript
| — Adam (@savageEWOK87)
a(href='https://twitter.com/savageEWOK87/status/549277640612278273') December 28, 2014
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| My boss was impressed by the troubleshooting I learned through
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
@ -17,7 +51,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
a(href='https://twitter.com/DrivenByTatiana') @DrivenByTatiana
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
@ -27,7 +61,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| Discovered
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
@ -39,7 +73,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| For my friends who are learning to code,
a(href='https://twitter.com/ossia') @ossia
@ -53,7 +87,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
| is such a fantastic program! I love the idea of it. Perfect for someone like me
@ -62,7 +96,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| Just built my companies website
a(href='http://t.co/AUkS27oTm5') http://t.co/AUkS27oTm5
@ -73,7 +107,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
| I'll make time to be part of this!!!!
@ -82,7 +116,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
| Great idea. Great vision.
@ -91,7 +125,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| Learn code for free! Your time, your pace! Sweet!
a(href='http://t.co/y6IMdPDPnH') http://t.co/y6IMdPDPnH
@ -104,7 +138,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
| is my new favorite online learning tool right now.
@ -117,7 +151,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| Started
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
@ -131,7 +165,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| I don't consider myself a teacher, but getting involved & collaborating through
a(href='https://twitter.com/FreeCodeCamp') @FreeCodeCamp
@ -141,7 +175,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| A6 -
a(href='http://t.co/M6Gyw8jszd') http://t.co/M6Gyw8jszd
@ -153,7 +187,7 @@
script(async='', src='//platform.twitter.com/widgets.js', charset='utf-8')
.masonry-block
.masonry-relative
blockquote.twitter-tweet(lang='en')
blockquote.twitter-tweet(lang='en', data-cards="hidden")
p
| I agree,
a(href='https://twitter.com/LeifPixel') @LeifPixel
@ -181,6 +215,18 @@
}
});
#shuffle
.col-xs-12.col-sm-4.col-md-3.team-member
h3.negative-10.text-nowrap Ammar Shah
h4.negative-10.text-nowrap Community Builder
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/ammar-shah.jpg' alt="Ammar Shah's picture")
h4.text-nowrap Karachi, Pakistan
p.negative-10 "I code whenever I'm not sleeping or in school. Making computers obey me is a dream come true."
.col-xs-12.col-sm-4.col-md-3.team-member
h3.negative-10.text-nowrap Branden Byers
h4.negative-10.text-nowrap Community Builder
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/branden-byers.jpg' alt="Branden Byers picture")
h4.text-nowrap Madison, Wisconsin
p.negative-10 "I'm a massage therapist and Stay-at-home-dad. I learned Hypercard, then Rails, but now I feel at home with JavaScript."
.col-xs-12.col-sm-4.col-md-3.team-member
h3.negative-10.text-nowrap Michael Johnson
h4.negative-10.text-nowrap Nonprofit Coordinator

68
views/partials/stats.jade Normal file
View File

@ -0,0 +1,68 @@
.panel.panel-primary
.panel-heading.landing-panel-heading.text-center Free Code Camp Stats
.panel-body
.landing-panel-body.text-center
.row
.col-xs-6.text-right
h2 Days since we Launched:
.col-xs-6.text-left
h2
= daysRunning
.row
.col-xs-6.text-right
h2 Nonprofit Projects:
.col-xs-6.text-left
h2
a(href="https://trello.com/b/BA3xVpz9/nonprofit-projects")=nonprofitProjects
.row
.col-xs-6.text-right
h2 Total Code Campers:
.col-xs-6.text-left
h2
= users
.row
.col-xs-6.text-right
h2 Code Campers with at least...
.col-xs-6
.row
.col-xs-6.text-right
h2 2 Points:
.col-xs-6.text-left
h2
= c2
.row
.col-xs-6.text-right
h2 4 Points:
.col-xs-6.text-left
h2
= c4
.row
.col-xs-6.text-right
h2 9 Points:
.col-xs-6.text-left
h2
= c9
.row
.col-xs-6.text-right
h2 19 Points:
.col-xs-6.text-left
h2
= c19
.row
.col-xs-6.text-right
h2 29 Points:
.col-xs-6.text-left
h2
= c29
.row
.col-xs-6.text-right
h2 39 Points:
.col-xs-6.text-left
h2
= c39
.row
.col-xs-6.text-right
h2 All 54 Points:
.col-xs-6.text-left
h2
= all

View File

@ -1,4 +1,5 @@
extends ../layout
block content
include ../partials/about-us
include ../partials/stats
include ../partials/about
include ../partials/faq

View File

@ -1,68 +1,3 @@
extends ../layout
block content
.jumbotron.text-center
h1.hug-top Free Code Camp Stats
.row
.col-xs-6.text-right
h2 Days since we Launched:
.col-xs-6.text-left
h2
= daysRunning
.row
.col-xs-6.text-right
h2 Nonprofit Projects:
.col-xs-6.text-left
h2
a(href="https://trello.com/b/BA3xVpz9/nonprofit-projects") 14
.row
.col-xs-6.text-right
h2 Total Code Campers:
.col-xs-6.text-left
h2
= users
.row
.col-xs-6.text-right
h2 Code Campers with at least...
.col-xs-6
.row
.col-xs-6.text-right
h2 2 Points:
.col-xs-6.text-left
h2
= c2
.row
.col-xs-6.text-right
h2 4 Points:
.col-xs-6.text-left
h2
= c4
.row
.col-xs-6.text-right
h2 9 Points:
.col-xs-6.text-left
h2
= c9
.row
.col-xs-6.text-right
h2 19 Points:
.col-xs-6.text-left
h2
= c19
.row
.col-xs-6.text-right
h2 29 Points:
.col-xs-6.text-left
h2
= c29
.row
.col-xs-6.text-right
h2 39 Points:
.col-xs-6.text-left
h2
= c39
.row
.col-xs-6.text-right
h2 All 54 Points:
.col-xs-6.text-left
h2
= all
include ../partials/stats