start creating the basejump instructions

pull/320/head
Michael Q Larson 2015-04-13 21:56:51 -05:00
parent 11548bfcf9
commit 77b5265fde
1 changed files with 58 additions and 1 deletions

View File

@ -650,7 +650,64 @@
"difficulty": 2.01,
"challengeSeed": "123488494",
"description": [
"This Basejump is a great opportunity to pair program with a friend.",
"We'll build this Basejump on Cloud 9, a powerful online code editor with a full Ubuntu Linux workspace, all running in the cloud.",
"If you don't already have Cloud 9 account, create one now at <a href='http://c9.io'>http://c9.io</a>.",
"Now let's get your development environment ready for a new Angular-Fullstack application provided by Yeoman.",
"Open up http://c9.io and sign in to your account.",
"Click on Create New Workspace at the top right of the c9.io page.",
"Click on the Create a new workspace in the dropdown after you select the button.",
"Name your workspace to match your project name that you are working on.",
"Choose Node.js in the selection area below the name field",
"Click the Create button",
"Wait for the workspace to finish processing and select it on the left sidebar, below the Create New Workspace button",
"Click the Start Editing button.",
"In the lower right hand corner you should see a terminal window. In this window use the following commands. You don't need to know what these mean at this point.",
"<code>rm -rf * && npm install -g yo grunt grunt-cli generator-angular-fullstack && yo angular-fullstack</code>",
"Yeoman will prompt you to answer some questions. Answer them like this:",
"What would you like to write scripts with? JavaScript",
"What would you like to write markup with? HTML",
"What would you like to write stylesheets with? CSS",
"What Angular router would you like to use? ngRoute",
"Would you like to include Bootstrap? Yes",
"Would you like to include UI Bootstrap? Yes",
"Would you like to use MongoDB with Mongoose for data modeling? Yes",
"Would you scaffold out an authentication boilerplate? Yes",
"Would you like to include additional oAuth strategies? Twitter",
"Would you like to use socket.io? No",
"May bower anonymously report usage statistics to improve the tool over time? (Y/n) Y",
"You may get an error similar to <code> ERR! EEXIST, open /home/ubuntu/.npm</code>. This is caused when Cloud9 runs out of memory and kills an install. If you get this, simply rerun yo angular-fullstack. You will then be asked a few questions regarding the re-install. Answer them as follows:",
"Existing .yo-rc configuration found, would you like to use it? (Y/n) Y",
"Overwrite client/favicon.ico? (Ynaxdh) Y",
"To finish the installation run the commands: <code>bower install && npm install</code>",
"To start MongoDB, run the following commands in your terminal: <code>mkdir data && echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest \"$@\"' > mongod && chmod a+x mongod && ./mongod</code>",
"You will want to open up a new terminal to work from by clicking on the + icon and select New Terminal",
"Start the application by running the following command in your new terminal window: <code>grunt serve</code>",
"Wait for the following message to appear: <code>xdg-open: no method available for opening 'http://localhost:8080' </code>. Now you can open the internal Cloud9 browser. To launch the browser select Preview in the toolbar then select the dropdown option Preview Running Application.",
"Turn the folder in which your application is running into a Git repository by running the following commands: <code>git init && git add . && git commit -am 'initial commit'</code>.",
"Create a new Github repository by signing in to <a href='http://github.com'>http://github.com</a> and clicking on the + button next to your username in the upper-right hand side of your screen, then selecting \"New Repository\"",
"Enter a project name, then click the \"Create Repository\" button.",
"Find the \"...or push an existing repository from the command line\" section and click the Copy to Clipboard button beside it.",
"Paste the commands from your clipboard into the Cloud9 terminal prompt. This will push your changes to your repository on Cloud 9 up to Github.",
"Check back on your Github profile to verify the changes were successfully pushed up to Github.",
"Now let's push your code to Heroku. If you don't already have a Heroku account, create one at <a href=http://heroku.com>http://heroku.com</a>. You shouldn't be charged for anything, but you will need to add your credit card information to your Heroku before you will be able to use Heroku's free MongoLab add on.",
"Before you publish to Heroku, you should free up as much memory as possible on Cloud9. In each of the Cloud9 terminal prompt tabs where MongoDB and Grunt are running, press the <code>control + c</code> hotkey to shut down these processes.",
"Run the following command in a Cloud9 terminal prompt tab: <code>npm install grunt-contrib-imagemin --save-dev && npm install --save-dev && heroku login</code>. At this point, the terminal will prompt you to log in to Heroku from the command line.",
"Now run <code>yo angular-fullstack:heroku</code>. You can choose a name for your Heroku project, or Heroku will create a random one for you. You can choose whether you want to deploy to servers the US or the EU.",
"Set the config flag for your Heroku environment and add MongoLab for your MongoDB instance by running the following command: <code>cd ~/workspace/dist && heroku config:set NODE_ENV=production && heroku addons:add mongolab</code>.",
"As you build your app, you should frequently commit changes to your codebase. You can do this by running <code>git commit -am \"your commit message\"</code>. Note that you should replace \"your commit message\" with a brief summary of the changes you made to your code.",
"You can push these new commits to Github by running <code>git push origin master</code>, and to Heroku by running <code>grunt --force && grunt buildcontrol:heroku</code>.",
"Now that you've configured your environment, here are the specific User Stories you should implement for this Basejump:,",
"As an authenticated user, I should be able to keep my polls and come back later to access them.",
"As an authenticated user, I should be able to share my polls with my friends.",
"As an authenticated user, I should be able to see the aggregate results of my polls.",
"As an authenticated user, I should be able to delete polls that I decide I don't want anymore.",
"As an authenticated user, I should be able to create a poll with any number of possible items.",
"Here are some bonus User Stories you can try to implement once you've finished the above User Stories:",
"As an unauthenticated user, I should be able to see everyone's polls, but not be able to vote.",
"As an unauthenticated or authenticated user, I should be able to see the in chart form. (This could be implemented using Chart.js or Google Charts.)",
"As an authenticated user, if I don't like the options on a poll I can create a new option.",
"Once you've finished implementing these user stories, click the \"I've completed this challenge\" button and enter the URLs for both your Github repository and your live app running on Heroku. If you pair programmed with a friend, enter his or her Free Code Camp username as well so that you both get credit for completing it."
],
"challengeType": 4,
"tests": []