started work on challenge controller

This commit is contained in:
Michael Q Larson
2014-11-01 15:37:00 -07:00
parent e6f4aa9158
commit 683d2e75fd
5 changed files with 383 additions and 149 deletions

View File

@ -20,13 +20,33 @@ exports.view = function(req, res) {
});
});
};
exports.enterTheFreeCodeCampChatRoom = function(req, res) {
res.render('challenges/enter-the-free-code-camp-chat-room', {
name: 'Enter the Fre Code Camp Chat Room',
video: "109134466",
directions: ["Link up with the Free Code Camp community in our HipChat chat room.", "Just follow this link"],
links: ["http://startbootstrap.com", "http://bitballoon.com", "http://atom.io"],
challenges: [""]
});
};
exports.installGithubAtomTextEditor = function(req, res) {
res.render('challenges/install-github-atom-text-editor', {
name: "Install Github's Atom Text Editor",
video: "109134466",
directions: [""],
links: ["http://atom.io"],
challenges: [""]
});
};
exports.createAndDeployAWebsite = function(req, res) {
res.render('challenges/create-and-deploy-a-website', {
name: 'Create and Deploy a Website',
image: 'http://startbootstrap.com/assets/img/templates/landing-page.jpg',
video: "109134466",
directions: ["In the next 5 minutes, you'll create a website and deploy it to the internet!"],
links: ["http://startbootstrap.com", "http://bitballoon.com", "http://atom.io"],
links: ["http://startbootstrap.com", "http://bitballoon.com"],
challenges: ["Now that you have Atom installed, open up the index page of the template you downloaded. Go through the index page and change all the text to be about cats.", "The images used on a website are stored in the \"images\" directory. Browse the web for cat pictures, save them to the \"images\" directory.", "Change the image href's so that your cat pictures show up in the template."]
});
};
@ -36,7 +56,6 @@ exports.startAPairProgrammingSession = function(req, res) {
name: "Start Your First Pair Programming Session",
source: "Free Code Camp",
video: "109547811",
image: "https://screenhero.com/img/anim-collaboration.gif",
directions: [
"What's all this Pair Programming stuff about? Let's find out!", "We'll use a popular pair programming tool called Screen Hero. We'll also visit the Free Code Camp chat room.", "We'll show you how to launch pair programming sessions right inside the chat room.", "Once you've \"paired\" with someone, they become your \"pair\". Show your new pair the website your just created."
],
@ -50,7 +69,6 @@ exports.addDynamicContentToYourWebsite = function(req, res) {
name: "Add Dynamic Content to your Website with POWr.io",
source: "Free Code Camp",
video: "109599487",
image: "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg",
directions: [
"The website you created earlier is cool, but it's not very interactive.", "Let's make it dynamic with POWr.io's drag-and-drop form and database tools!"
],
@ -59,12 +77,23 @@ exports.addDynamicContentToYourWebsite = function(req, res) {
});
};
exports.codecademyHtmlAndCssTrack = function(req, res) {
res.render('courses/codecademy-html-and-css-track', {
name: "Codecademy HTML & CSS Track",
links: [ "http://www.codecademy.com/tracks/web"],
time: 7,
directions: [
"Let's learn HTML and CSS! Then we'll understand the structure (HTML) and the style (CSS) that makes up all webpages.",
"More than 5 million people have worked their way through this short, interactive course. Once you finish it, you'll be able create your own webpages from scratch."
]
});
};
exports.experimentWithHtmlAndCssInCodepen = function(req, res) {
res.render('challenges/experiment-with-html-and-css-in-codepen', {
name: "Create your first CodePen",
source: "Free Code Camp",
video: "109611164",
image: "http://www.designtrending.com/wp-content/uploads/2013/02/codepen_split.png",
directions: [
"Let's put those HTML and CSS skills to work!",
"You'll learn bootstrap and see how you can build websites right in your browser with CodePen."
@ -72,4 +101,344 @@ exports.experimentWithHtmlAndCssInCodepen = function(req, res) {
links: ["http://getbootstrap.com/", "http://www.usatoday.com/", "http://codepen.io/"],
challenges: ["Load the HealthCare.gov page in CodePen.", "Find some cat pictures online, copy their image URLs, and change the HealthCare.gov page to use these cat pictures instead of its normal images.", "HealthCare.gov uses a multi-column bootstrap layout. See if you can change the layout to be a single-column layout at all widths, not just mobile width. Hint: the \"row\" and \"col-\" classes control this. Check the Bootstrap documentation linked to above if you get stuck."]
});
};
exports.codeSchoolTryJqueryCourse = function(req, res) {
res.render('courses/code-school-try-jquery-course', {
name: "Code School's Try jQuery Course",
links: [ "https://www.codeschool.com/courses/try-jquery"],
time: 7,
directions: [
"jQuery gives you an easy way to modify your HTML and CSS without reloading your page.",
"Code School's interactive jQuery course will help you understand how to manipulate page elements and capture information that your users give you."
]
});
};
exports.completeJqueryExercises = function(req, res) {
res.render('courses/complete-jquery-exercises', {
name: "Complete jQuery Exercises",
links: ["http://jqexercise.droppages.com/"],
time: 7,
directions: [
"jQuery gives you an easy way to modify your HTML and CSS without reloading your page.",
"Code School's interactive jQuery course will help you understand how to manipulate page elements and capture information that your users give you."
]
});
};
exports.codeSchoolDiscoverDevtoolsCourse = function(req, res) {
res.render('courses/code-school-discover-devtools-course', {
name: "Code School's Discover DevTools",
links: [ "http://discover-devtools.codeschool.com/"],
time: 4,
directions: [
"Did you know you can change the HTML and CSS on this page? You can even inject JavaScript. In fact, you can do this on any webpage!",
"Chrome has built in DevTools that allow you to debug webpages, right in your browser. This is a super handy tool when you're building web applications.",
"This course will walk you through using these tools, and test your new skills with 75 exercises."
]
});
};
exports.customizeBootstrapWithBootswatch = function(req, res) {
res.render('courses/customize-bootstrap-with-bootswatch', {
name: "Customize Bootstrap with Bootswatch",
links: [""],
time: 4,
directions: []
});
};
exports.injectLifeWithCssTransformations = function(req, res) {
res.render('courses/inject-life-with-css-transformations', {
name: "Inject Life with CSS Transformations",
links: [ ""],
time: 4,
directions: [
]
});
};
exports.codecademyJavascriptTrack = function(req, res) {
res.render('courses/codecademy-javascript-track', {
name: "Codecademy JavaScript Track",
links: [ "http://www.codecademy.com/tracks/javascript"],
time: 10,
directions: [
"All right, now let's start coding!",
"Codecademy's popular JavaScript track will teach you some basic syntax and common programming data structures in just a few hours."
]
});
};
exports.getHelpTheHackerWayWithRsap = function(req, res) {
res.render('courses/get-help-the-hacker-way-with-rsap', {
name: "Get Help the Hacker Way with RSAP',
links: [""],
time: 150,
directions: [
]
});
};
exports.completeTheEasyAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
res.render('courses/complete-the-easy-algorthim-scripting-challenges-on-coderbyte', {
name: "Complete the Easy Algorithm Scripting Challenges on Coderbyte',
links: [""],
time: 150,
directions: [
]
});
};
exports.harvardIntroductionToComputerScienceCs50Course = function(req, res) {
res.render('courses/harvard-introduction-to-computer-science-cs50-course', {
name: "Introduction to Computer Science",
links: [ "https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ"],
time: 150,
directions: [
"Harvard's CS50 course is one of the most popular online courses of all time. It will give you a solid programming foundation.",
"This course will introduce you to algorithms, databases, data structures, and a ton of theory.",
"It's a long course, so be sure to mix it up with frequent pair programming sessions on FreeCodeCamp challenges."
]
});
};
exports.completeTheMediumAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
res.render('courses/complete-the-medium-algorthim-scripting-challenges-on-coderbyte', {
name: "Complete the Medium Algorithm Scripting Challenges on Coderbyte',
links: [""],
time: 150,
directions: [
]
});
};
exports.stanfordsRelationalDatabasesMiniCourse = function(req, res) {
res.render('courses/stanfords-relational-databases-mini-course', {
name: "Stanford's Relational Databases Mini-course',
links: [""],
time: 150,
directions: [
]
});
};
exports.stanfordsJsonMiniCourse = function(req, res) {
res.render('courses/stanfords-json-mini-course', {
name: "Stanford's JSON Mini-course',
links: [""],
time: 150,
directions: [
]
});
};
exports.buildATextBasedAdventure = function(req, res) {
res.render('courses/build-a-text-based-adventure', {
name: "Build a Text-based Adventure',
links: [""],
time: 150,
directions: [
]
});
};
exports.completeTheHardAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
res.render('courses/complete-the-hard-algorthim-scripting-challenges-on-coderbyte', {
name: "Complete the Hard Algorithm Scripting Challenges on Coderbyte',
links: [""],
time: 150,
directions: [
]
});
};
exports.stanfordsSqlMiniCourse = function(req, res) {
res.render('courses/stanfords-sql-mini-course', {
name: "Stanford's SQL Mini-course',
links: [""],
time: 150,
directions: [
]
});
};
exports.buildAnInterviewQuestionMachine = function(req, res) {
res.render('courses/build-an-interview-question-machine', {
name: "Build an Interview Question Machine',
links: [""],
time: 150,
directions: [
]
});
};
exports.codeSchoolTryGitCourse = function(req, res) {
res.render('courses/code-school-try-git-course', {
name: "Code School's Try Git Course",
links: [ "https://www.codeschool.com/courses/try-git"],
time: 2,
directions: [
"Have you ever accidentally deleted something? With Git, you will never have that problem again.",
"Git is a Version Control System. It will track all changes to your files. That way you don't have to worry about your code breaking. You can just rewind time to back when your code worked right.",
"This short course will help you install git and learn how it works."
]
});
};
exports.installNodeJs = function(req, res) {
res.render('courses/install-node-js', {
name: "Install Node.js",
links: [ ""],
time: 2,
directions: [
]
});
};
exports.cloneAGithubRepo = function(req, res) {
res.render('courses/clone-a-github-repo', {
name: "Clone a Github Repo",
links: [""],
time: 2,
directions: [
]
});
};
exports.deployAnAppToHeroku = function(req, res) {
res.render('courses/deploy-an-app-to-heroku', {
name: "Deploy an app to Heroku",
links: [""],
time: 2,
directions: [
]
});
};
exports.codeSchoolRealTimeWithNodeJsCourse = function(req, res) {
res.render('courses/code-school-real-time-with-node-js-course', {
name: "Code School's Real-time web with Node.JS",
links: [ "https://www.codeschool.com/courses/real-time-web-with-node-js"],
time: 10,
directions: [
"Learn NodeJS, the web server that makes the MEAN Stack possible.",
"You'll also get exposure to related technologies, like the web development framework ExpressJS, Redis and WebSockets.",
"Only the first section of this course is free, but you can use your two-day Code School free trial to finish it."
]
});
};
exports.tryMongoDb = function(req, res) {
res.render('courses/try-mongodb', {
name: "Try MongoDB",
links: ["http://try.mongodb.org/"],
time: 10,
directions: [
]
});
};
exports.exploreYourNetworkWithTheLinkedInApi = function(req, res) {
res.render('courses/explore-your-network-with-the-linkedin-api', {
name: "Explore Your Network with the LinkedIn API",
links: ["http://developers.linkedin.com/"],
time: 10,
directions: [
]
});
};
exports.buildYourFirstApi = function(req, res) {
res.render('courses/build-your-first-api', {
name: "Build Your First API",
links: [""],
time: 10,
directions: [
]
});
};
exports.aggregateDataWithChronJobsAndScreenScraping = function(req, res) {
res.render('courses/aggregate-data-with-chron-jobs-and-screen-scraping', {
name: "Aggregate Data with Chron Jobs and Screen Scraping",
links: [""],
time: 10,
directions: [
]
});
};
exports.codeSchoolShapingUpWithAngularJsCourse = function(req, res) {
res.render('courses/code-school-shaping-up-with-angular-js-course', {
name: "Codeschool's Shaping up with Angular.js",
links: [ "https://www.codeschool.com//courses/shaping-up-with-angular-js"],
time: 10,
directions: [
"AngularJS is a powerful front end JavaScript framework. It's more powerful than jQuery, but it's also more challenging to master.",
"AngularJS is used heavily by Google and many other high tech companies. As such, it is a hot skill, and employers are looking for software engineers who are good with AngularJS."
]
});
};
exports.reverseEngineerSnapchat = function(req, res) {
res.render('courses/reverseEngineerSnapchat', {
name: "Reverse Engineer Snapchat",
links: [""],
time: 10,
directions: [
]
});
};
exports.reverseEngineerReddit = function(req, res) {
res.render('courses/reverseEngineerReddit', {
name: "Reverse Engineer Reddit",
links: [""],
time: 10,
directions: [
]
});
};
exports.reverseEngineerPintrest = function(req, res) {
res.render('courses/reverseEngineerPintrest', {
name: "Reverse Engineer Pintrest",
links: [""],
time: 10,
directions: [
]
});
};
exports.helpANonprofitTeamProject = function(req, res) {
res.render('courses/help-a-nonprofit-team-project', {
name: "Help a Nonprofit Team Project",
links: [""],
time: 10,
directions: [
]
});
};
exports.helpANonprofitSoloProject = function(req, res) {
res.render('courses/help-a-nonprofit-solo-project', {
name: "Help a Nonprofit Solo Project",
links: [""],
time: 10,
directions: [
]
});
};
exports.crackTheCodingInterview = function(req, res) {
res.render('courses/crack-the-coding-interview', {
name: "Crack the Coding Interview",
links: [""],
time: 10,
directions: [
]
});
};

View File

@ -19,139 +19,4 @@ exports.view = function(req, res) {
course: course
});
});
};
exports.codecademyHtmlAndCssTrack = function(req, res) {
res.render('courses/codecademy-html-and-css-track', {
name: "Codecademy HTML & CSS Track",
link: "http://www.codecademy.com/tracks/web",
image: "https://d13yacurqjgara.cloudfront.net/users/98247/screenshots/1673756/codecademy_design.png",
time: 7,
directions: [
"Let's learn HTML and CSS! Then we'll understand the structure (HTML) and the style (CSS) that makes up all webpages.",
"More than 5 million people have worked their way through this short, interactive course. Once you finish it, you'll be able create your own webpages from scratch."
]
});
};
exports.codeSchoolDiscoverDevtoolsCourse = function(req, res) {
res.render('courses/code-school-discover-devtools-course', {
name: "Code School's Discover DevTools",
link: "http://discover-devtools.codeschool.com/",
image: "https://d1ffx7ull4987f.cloudfront.net/images/achievements/large_badge/197/completed-discover-devtools-b769c8b681384be3ad04cdf813b4a62c.png",
time: 4,
directions: [
"Did you know you can change the HTML and CSS on this page? You can even inject JavaScript. In fact, you can do this on any webpage!",
"Chrome has built in DevTools that allow you to debug webpages, right in your browser. This is a super handy tool when you're building web applications.",
"This course will walk you through using these tools, and test your new skills with 75 exercises."
]
});
};
exports.codeSchoolTryJqueryCourse = function(req, res) {
res.render('courses/code-school-try-jquery-course', {
name: "Code School's Try jQuery Course",
link: "https://www.codeschool.com/courses/try-jquery",
image: "http://logoness.com/wp-content/uploads/2014/09/code-school-logo.jpg",
time: 7,
directions: [
"jQuery gives you an easy way to modify your HTML and CSS without reloading your page.",
"Code School's interactive jQuery course will help you understand how to manipulate page elements and capture information that your users give you."
]
});
};
exports.codecademyJavascriptTrack = function(req, res) {
res.render('courses/codecademy-javascript-track', {
name: "Codecademy JavaScript Track",
link: "http://www.codecademy.com/tracks/javascript",
image: "https://d13yacurqjgara.cloudfront.net/users/98247/screenshots/1673756/codecademy_design.png",
time: 10,
directions: [
"All right, now let's start coding!",
"Codecademy's popular JavaScript track will teach you some basic syntax and common programming data structures in just a few hours."
]
});
};
exports.harvardIntroductionToComputerScienceCs50Course = function(req, res) {
res.render('courses/harvard-introduction-to-computer-science-cs50-course', {
name: "Introduction to Computer Science",
link: "https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ",
image: "http://content.sportslogos.net/logos/31/695/full/k7ahkuime41f6elmq8qx.png",
time: 150,
directions: [
"Harvard's CS50 course is one of the most popular online courses of all time. It will give you a solid programming foundation.",
"This course will introduce you to algorithms, databases, data structures, and a ton of theory.",
"It's a long course, so be sure to mix it up with frequent pair programming sessions on FreeCodeCamp challenges."
]
});
};
exports.linuxCommandLineTutorial = function(req, res) {
res.render('courses/linux-command-line-tutorial', {
name: "Linux Command Line Tutorial",
link: "https://www.udemy.com/linux-command-line-volume1/",
image: "https://udemyimages-a.akamaihd.net/course/200_H/95246_69f4_7.jpg",
time: 2,
directions: [
"If you are using a Mac or a Linux computer, this short course will help you learn some basic commands to get around your terminal.",
"If you are using a Windows computer, you can either skip this course or install a linux emulator here: http://cygwin.com/install.html"
]
});
};
exports.codeSchoolTryGitCourse = function(req, res) {
res.render('courses/code-school-try-git-course', {
name: "Code School's Try Git Course",
link: "https://www.codeschool.com/courses/try-git",
image: "http://logoness.com/wp-content/uploads/2014/09/code-school-logo.jpg",
time: 2,
directions: [
"Have you ever accidentally deleted something? With Git, you will never have that problem again.",
"Git is a Version Control System. It will track all changes to your files. That way you don't have to worry about your code breaking. You can just rewind time to back when your code worked right.",
"This short course will help you install git and learn how it works."
]
});
};
exports.codeSchoolRealTimeWithNodeJsCourse = function(req, res) {
res.render('courses/code-school-real-time-with-node-js-course', {
name: "Code School's Real-time web with Node.JS",
link: "https://www.codeschool.com/courses/real-time-web-with-node-js",
image: "https://d1ffx7ull4987f.cloudfront.net/images/achievements/large_badge/107/completed-real-time-web-with-node-js-c8408b2b17ff6492d3f4d241c0db322d.png",
time: 10,
directions: [
"Learn NodeJS, the web server that makes the MEAN Stack possible.",
"You'll also get exposure to related technologies, like the web development framework ExpressJS, Redis and WebSockets.",
"Only the first section of this course is free, but you can use your two-day Code School free trial to finish it."
]
});
};
exports.codeSchoolShapingUpWithAngularJsCourse = function(req, res) {
res.render('courses/code-school-shaping-up-with-angular-js-course', {
name: "Codeschool's Shaping up with Angular.js",
link: "https://www.codeschool.com//courses/shaping-up-with-angular-js",
image: "https://d1ffx7ull4987f.cloudfront.net/images/courses/large_badge/109/shaping-up-with-angular-js-83ceb89bd5255391f25230727ae3f019.png",
time: 10,
directions: [
"AngularJS is a powerful front end JavaScript framework. It's more powerful than jQuery, but it's also more challenging to master.",
"AngularJS is used heavily by Google and many other high tech companies. As such, it is a hot skill, and employers are looking for software engineers who are good with AngularJS."
]
});
};
exports.m101jsMongoDBForNodeJsDevelopersCourse = function(req, res) {
res.render('courses/m101js-mongodb-for-node-js-developers-course', {
name: "M101JS: MongoDB for Node.js Developers",
link: "https://university.mongodb.com/courses/M101JS/about",
image: "http://fc01.deviantart.net/fs70/f/2010/168/e/1/Icon_MongoDB_by_xkneo.png",
time: 40,
directions: [
"MongoDB is a powerful Document Store Database. One reason it is so popular is that you can query it using JavaScript.",
"Instead of using traditional table to store data (similar to a spreadsheet), MongoDB stuffs everything into huge documents. It can store massive amounts of data more efficiently than traditional SQL-based databases, but has fewer features.",
"Tengen, the company that created MongoDB, has opened this course to everyone for free. It has specific start and end dates, so you may have to wait a few weeks for a session starts. In the meantime, you should keep working on other FreeCodeCamp challenges and projects."
]
});
};

View File

@ -0,0 +1,8 @@
extends ../layout
block content
.row
.col-sm-12.col-md-8.col-xs-12
include ../courses/partials/course
.col-sm-12.col-md-4.col-xs-12
include ../partials/challenges
include ../partials/courses

View File

@ -1,8 +0,0 @@
extends ../layout
block content
.row
.col-sm-12.col-md-8.col-xs-12
include ./partials/course
.col-sm-12.col-md-4.col-xs-12
include ./../partials/challenges
include ./../partials/courses

View File

@ -6,7 +6,7 @@ block content
.panel-heading Your Curriculum
.panel.panel-body
.responsive-container.animated.zoomIn.delay-1
iframe(src='//player.vimeo.com/video/110039099', frameborder='0', webkitallowfullscreen='', mozallowfullscreen='', allowfullscreen='')
iframe(src='//player.vimeo.com/video/110039099?autoplay=1', frameborder='0', webkitallowfullscreen='', mozallowfullscreen='', allowfullscreen='')
.animated.fadeIn.delay-2
h3 Instructions:
p Here are a few quick tips: