Pull some useful changes from aborted branch

This commit is contained in:
Michael Q Larson
2015-04-16 23:54:26 -07:00
parent d2fae63310
commit d10011acc3
4 changed files with 147 additions and 110 deletions

View File

@ -8,7 +8,7 @@ exports.index = function(req, res) {
res.redirect('/challenges/') res.redirect('/challenges/')
} else { } else {
res.render('home', { res.render('home', {
title: 'Learn to Code and Become a Software Engineer' title: 'Learn to Code JavaScript and get a Coding Job by Helping Nonprofits'
}); });
} }
}; };

View File

@ -18,7 +18,10 @@ var userSchema = new mongoose.Schema({
github: String, github: String,
linkedin: String, linkedin: String,
tokens: Array, tokens: Array,
progressTimestamps: [], progressTimestamps: {
type: Array,
default: []
},
profile: { profile: {
username: { username: {
type: String, type: String,
@ -28,7 +31,7 @@ var userSchema = new mongoose.Schema({
}, },
bio: { bio: {
type: String, type: String,
defaults: '' default: ''
}, },
name: { name: {
type: String, type: String,
@ -63,7 +66,6 @@ var userSchema = new mongoose.Schema({
default: '' default: ''
} }
}, },
challengesHash: {},
portfolio: { portfolio: {
website1Link: { website1Link: {
type: String, type: String,

View File

@ -606,21 +606,45 @@
"tests": [] "tests": []
}, },
{ {
"_id": "bd7158d8c442eddfaeb5bdff", "_id": "bd7158d8c442eddfaeb5bd1f",
"name": "Zipline: Integrate with Twitch's API", "name": "Zipline: Use the Twitch.tv JSON API",
"difficulty": 1.01, "difficulty": 1.01,
"challengeSeed": "123488494", "challengeSeed": "123488494",
"description": [ "description": [
"Go to CodePen <a href='http://codepen.io/FreeCodeCamp/pen/gbEmJr'>http://codepen.io/FreeCodeCamp/pen/gbEmJr</a> and click the \"fork\" button. This will create a \"fork\", or copy of the file, which you can then edit yourself.", "Build a Twitch integration on CodePen.io using this as a reference: <a href='http://codepen.io/FreeCodeCamp/full/gbEmJr/' target='_blank'>http://codepen.io/FreeCodeCamp/full/gbEmJr/</a>.",
"Here are the rules: <ol><li>Don't look at the example's code. Figure it out for yourself.</li><li>You may use whichever libraries or APIs you need.</li><li>Reproduce the example project's functionality, and also feel free to personalize it.</li></ul>",
"Here's an example call to Twitch.tv's JSON API: <code>https://api.twitch.tv/kraken/streams/freecodecamp</code>.",
"The relevant documentation is here: <a href='https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel' target='_blank'>https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel</a>.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your Codepen. If you pair programmed, you should also include the Free Code Camp username of your pair. We will take a look at your code and eventually give you feedback. In the meantime, please move on to your next challenge." "When you are finished, click the \"I've completed this challenge\" button and include a link to your Codepen. If you pair programmed, you should also include the Free Code Camp username of your pair. We will take a look at your code and eventually give you feedback. In the meantime, please move on to your next challenge."
], ],
"challengeType": 3, "challengeType": 3,
"tests": [] "tests": []
}, },
{
"_id": "bd7158d8c442eddfaeb5bd10",
"name": "Zipline: Customize a Twitter Stream",
"difficulty": 1.06,
"challengeSeed": "123488494",
"description": [
"Start by forking this: <a href='http://codepen.io/FreeCodeCamp/pen/aOobVX'>http://codepen.io/FreeCodeCamp/pen/aOobVX</a>"
],
"challengeType": 3,
"tests": []
},
{
"_id": "bd7158d8c442eddfaeb5bd18",
"name": "Zipline: Integrate with a Weather API",
"difficulty": 1.02,
"challengeSeed": "123488494",
"description": [
],
"challengeType": 3,
"tests": []
},
{ {
"_id": "bd7158d8c442eddfaeb5bd0f", "_id": "bd7158d8c442eddfaeb5bd0f",
"name": "Zipline: Integrate with Trello's API", "name": "Zipline: Integrate with Trello's API",
"difficulty": 1.02, "difficulty": 1.05,
"challengeSeed": "123488494", "challengeSeed": "123488494",
"description": [ "description": [
"Go to CodePen <a href='http://codepen.io/FreeCodeCamp/pen/gbEmJr'>http://codepen.io/FreeCodeCamp/pen/gbEmJr</a> and click the \"fork\" button. This will create a \"fork\", or copy of the file, which you can then edit yourself.", "Go to CodePen <a href='http://codepen.io/FreeCodeCamp/pen/gbEmJr'>http://codepen.io/FreeCodeCamp/pen/gbEmJr</a> and click the \"fork\" button. This will create a \"fork\", or copy of the file, which you can then edit yourself.",
@ -636,13 +660,41 @@
"tests": [] "tests": []
}, },
{ {
"_id": "bd7158d8c442eddfaeb5bd1f", "_id": "bd7158d8c442eddfaeb5bd17",
"name": "Zipline: Integrate with a Weather API", "name": "Zipline: Build a Random Quote Generator",
"difficulty": 1.03, "difficulty": 1.06,
"challengeSeed": "123488494",
"description": [
],
"challengeType": 3,
"tests": []
},
{
"_id": "bd7158d8c442eddfaeb5bd1c",
"name": "Zipline: Build a Camper News Viewer",
"difficulty": 1.06,
"challengeSeed": "123488494",
"description": [
],
"challengeType": 3,
"tests": []
},
{
"_id": "bd7158d8c442eddfaeb5bd1d",
"name": "Zipline: Build a JavaScript Calculator",
"difficulty": 1.06,
"challengeSeed": "123488494",
"description": [
],
"challengeType": 3,
"tests": []
},
{
"_id": "bd7158d8c442eddfaeb5bd1e",
"name": "Zipline: Create a Tic Tac Toe Game",
"difficulty": 1.06,
"challengeSeed": "123488494", "challengeSeed": "123488494",
"description": [ "description": [
"Go to CodePen <a href='http://codepen.io/FreeCodeCamp/pen/gbEmJr'>http://codepen.io/FreeCodeCamp/pen/gbEmJr</a> and click the \"fork\" button. This will create a \"fork\", or copy of the file, which you can then edit yourself.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your Codepen. If you pair programmed, you should also include the Free Code Camp username of your pair. We will take a look at your code and eventually give you feedback. In the meantime, please move on to your next challenge."
], ],
"challengeType": 3, "challengeType": 3,
"tests": [] "tests": []

View File

@ -1,12 +1,24 @@
extends ../layout-wide extends ../layout
block content block content
if (Math.random() > 0.98) .col-xs-12.col-sm-12.col-md-12
.panel.panel-info
.panel-heading.text-center
h1 About Free Code Camp
.panel-body
.row.text-center
.col-xs-12
if (Math.random() > 0.99)
img.img-responsive.img-center(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner-dino.png') img.img-responsive.img-center(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner-dino.png')
else else
img.img-responsive.img-center(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png') img.img-responsive.img-center(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png')
br .col-xs-12.col-md-8.col-md-offset-2
h2.text-center
span.text-primary #{c3} &thinsp;
| campers have joined our community since we launched &thinsp;
span.text-primary #{daysRunning} &thinsp;
| days ago.
.row.text-center .row.text-center
.col-xs-12.col-md-6.col-md-offset-3 .col-xs-12.col-md-8.col-md-offset-2
if (user) if (user)
if (!user.sentSlackInvite) if (!user.sentSlackInvite)
a.btn.btn-cta.signup-btn.next-challenge-button.btn-block(href="/challenges") Take me to my next challenge a.btn.btn-cta.signup-btn.next-challenge-button.btn-block(href="/challenges") Take me to my next challenge
@ -14,40 +26,11 @@ block content
a.btn.btn-primary.btn-cta.next-challenge-button.btn-block(href="/api/slack") Join our Slack Chat Room a.btn.btn-primary.btn-cta.next-challenge-button.btn-block(href="/api/slack") Join our Slack Chat Room
else else
a.btn.btn-cta.signup-btn.next-challenge-button.btn-block(href="/signin") Start learning to code (it's free) a.btn.btn-cta.signup-btn.next-challenge-button.btn-block(href="/signin") Start learning to code (it's free)
br
.row
.col-xs-12.col-sm-12.col-md-4
.panel.panel-info
.panel-heading.landing-panel-heading.text-center Get Connected
.panel-body.text-center
img.img-responsive.img-center(src="https://s3.amazonaws.com/freecodecamp/about-chatroom.jpg" alt="A screen shot from Free Code Camp's main chat room")
h3 #{c3} campers are doing challenges.
h3 #{all} campers are coding for nonprofits.
.col-xs-12.col-sm-12.col-md-4
.panel.panel-info
.panel-heading.landing-panel-heading.text-center Learn JavaScript
.panel-body.text-center
img.img-responsive.img-center(src="https://s3.amazonaws.com/freecodecamp/about-github.jpg" alt="A screen shot of a GitHub commit graph showing a streak of 33 consecutive days of contributions")
include ../partials/github
.col-xs-12.col-sm-12.col-md-4
.panel.panel-info
.panel-heading.landing-panel-heading.text-center Help Nonprofits
.panel-body.text-center
img.img-responsive.img-center(src="https://s3.amazonaws.com/freecodecamp/about-trello.jpg" alt="a screen shot of Free Code Camp's nonprofit project Trello board showing several active projects")
h3 We launched #{daysRunning} days ago.
h3 We help 20 nonprofits. &nbsp;
a(href='https://trello.com/b/BA3xVpz9/nonprofit-projects') (view them)
br br
script. script.
var challengeName = 'Learn to code' var challengeName = 'Learn to code'
.row .row
.col-xs-12 .col-xs-12.col-md-8.col-md-offset-2
.panel.panel-info
.panel-heading.landing-panel-heading.text-center Announcements
.panel-body
.landing-panel-body.text-center
for announcement in announcements for announcement in announcements
h2 h2
if (announcement.length > 1) if (announcement.length > 1)