{
  "name": "Node.js and Express.js",
  "order" : 0.017,
  "challenges": [
    {
      "id": "bd7153d8c441eddfaeb5bd0f",
      "title": "Manage Packages with NPM",
      "difficulty": 0.39,
      "challengeSeed": ["126433450"],
      "description": [
        "We'll build this Waypoint 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' target='_blank'>http://c9.io</a>.",
        "Open up <a href='http://c9.io' target='_blank'>http://c9.io</a> and sign in to your account.",
        "Click on Create New Workspace at the top right of the c9.io page, then click on the \"Create a new workspace\" popup that appears below it the button after you click on it.",
        "Give your workspace a name.",
        "Choose Node.js in the selection area below the name field.",
        "Click the Create button. Then click into your new workspace.",
        "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.",
        "Install <code>how-to-npm</code> with this command: <code>npm install -g how-to-npm</code>",
        "Now start the tutorial by running <code>how-to-npm</code>.",
        "Note that you can resize the c9.io's windows by dragging their borders.",
        "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.",
        "Note that you can only add dist tags to the specific version numbers published in steps 8 and 10. If you receive a 403 or 404 error, run <code>how-to-npm</code> and try again.",
        "Also, if you experience a bug, and you think you understand the concept, you can skip a step by running <code>how-to-npm verify skip</code> in the terminal.",
        "You can view this Node School module's source code on GitHub at <a href='https://github.com/npm/how-to-npm'>https://github.com/npm/how-to-npm</a>.",
        "Complete \"Install NPM\"",
        "Complete \"Dev Environment\"",
        "Complete \"Login\"",
        "Complete \"Start a Project\"",
        "Complete \"Install a Module\"",
        "Complete \"Listing Dependencies\"",
        "Complete \"NPM Test\"",
        "Complete \"Package Niceties\"",
        "Complete \"Publish\"",
        "Complete \"Version\"",
        "Complete \"Publish Again\"",
        "Complete \"Dist Tag\"",
        "Complete \"Dist Tag Removal\"",
        "Complete \"Outdated\"",
        "Complete \"Update\"",
        "Complete \"RM\"",
        "Complete \"Finale\"",
        "Once you've completed these steps, move on to our next challenge."
      ],
      "type": "waypoint",
      "challengeType": 2,
      "tests": [],
      "nameCn": "",
      "descriptionCn": [],
      "nameFr": "",
      "descriptionFr": [],
      "nameRu": "",
      "descriptionRu": [],
      "nameEs": "",
      "descriptionEs": [],
      "namePt": "",
      "descriptionPt": []
    },
    {
      "id": "bd7153d8c441eddfaeb5bdff",
      "title": "Start a Node.js Server",
      "difficulty": 0.40,
      "challengeSeed": ["126411561"],
      "description": [
        "We'll build this Waypoint on Cloud 9, a powerful online code editor with a full Ubuntu Linux workspace, all running in the cloud. We'll do the first 7 steps of Node School's LearnYouNode challenges.",
        "If you don't already have Cloud 9 account, create one now at <a href='http://c9.io' target='_blank'>http://c9.io</a>.",
        "Open up <a href='http://c9.io' target='_blank'>http://c9.io</a> and sign in to your account.",
        "Click on the \"+\" icon at the top right of the c9.io page to create a new workspace.",
        "Give your workspace a name and an optional description.",
        "Choose Node.js in the selection area below the name field.",
        "Click the \"Create workspace\" button.",
        "Once C9 builds and loads your workspace, you should see a terminal window in the lower right hand corner. In this window use the following commands. You don't need to know what these mean at this point.",
        "Run this command: <code>sudo npm install -g learnyounode</code>",
        "Now start this tutorial by running <code>learnyounode</code>",
        "Note that you can resize the c9.io's windows by dragging their borders.",
        "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.",
        "You can view this Node School module's source code on GitHub at <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
        "Complete \"Hello World\"",
        "Complete \"Baby Steps\"",
        "Complete \"My First I/O\"",
        "Complete \"My First Async I/O\"",
        "Complete \"Filtered LS\"",
        "Complete \"Make it Modular\"",
        "Complete \"HTTP Client\"",
        "Once you've completed these first 7 steps, move on to our next challenge."
      ],
      "type": "waypoint",
      "challengeType": 2,
      "tests": [],
      "nameCn": "",
      "descriptionCn": [],
      "nameFr": "",
      "descriptionFr": [],
      "nameRu": "",
      "descriptionRu": [],
      "nameEs": "",
      "descriptionEs": [],
      "namePt": "",
      "descriptionPt": []
    },
    {
      "id": "bd7153d8c441eddfaeb5bdfe",
      "title": "Continue working with Node.js Servers",
      "difficulty": 0.41,
      "challengeSeed": ["128836506"],
      "description": [
        "Let's continue the LearnYouNode Node School challenge. For this Waypoint, we'll do challenges 8 through 10.",
        "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.",
        "Return to the c9.io workspace you created Now start this tutorial by running <code>learnyounode</code>",
        "You can view this Node School module's source code on GitHub at <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
        "Complete \"HTTP Collect\"",
        "Complete \"Juggling Async\"",
        "Complete \"Time Server\"",
        "Once you've completed these 3 steps, move on to our next challenge."
      ],
      "type": "waypoint",
      "challengeType": 2,
      "tests": [],
      "nameCn": "",
      "descriptionCn": [],
      "nameFr": "",
      "descriptionFr": [],
      "nameRu": "",
      "descriptionRu": [],
      "nameEs": "",
      "descriptionEs": [],
      "namePt": "",
      "descriptionPt": []
    },
    {
      "id": "bd7153d8c441eddfaeb5bdfd",
      "title": "Finish working with Node.js Servers",
      "difficulty": 0.42,
      "challengeSeed": ["128836507"],
      "description": [
        "Let's continue the LearnYouNode Node School challenge. For this Waypoint, we'll do challenges 11 through 13.",
        "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.",
        "Return to the c9.io workspace you created for the previous LearnYouNode challenges and start the tutorial by running <code>learnyounode</code>",
        "You can view this Node School module's source code on GitHub at <a href='https://github.com/workshopper/learnyounode'>https://github.com/workshopper/learnyounode</a>.",
        "Complete \"HTTP File Server\"",
        "Complete \"HTTP Uppercaserer\"",
        "Complete \"HTTP JSON API Server\"",
        "Once you've completed these final 3 steps, move on to our next challenge."
      ],
      "type": "waypoint",
      "challengeType": 2,
      "tests": [],
      "nameCn": "",
      "descriptionCn": [],
      "nameFr": "",
      "descriptionFr": [],
      "nameRu": "",
      "descriptionRu": [],
      "nameEs": "",
      "descriptionEs": [],
      "namePt": "",
      "descriptionPt": []
    },
    {
      "id": "bd7153d8c441eddfaeb5bd1f",
      "title": "Build Web Apps with Express.js",
      "difficulty": 0.43,
      "challengeSeed": [
        "126411559"
      ],
      "description": [
        "We'll build this Waypoint 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' target='_blank'>http://c9.io</a>.",
        "Open up <a href='http://c9.io' target='_blank'>http://c9.io</a> and sign in to your account.",
        "Click on the \"+\" icon at the top right of the c9.io page to create a new workspace.",
        "Give your workspace a name and an optional description.",
        "Choose Node.js in the selection area below the name field.",
        "Click the \"Create workspace\" button.",
        "Once C9 builds and loads your workspace, you should see a terminal window in the lower right hand corner. In this window use the following commands. You don't need to know what these mean at this point.",
        "Run this command: <code>git clone http://github.com/reddock/fcc_express && chmod 744 fcc_express/setup.sh && fcc_express/setup.sh && source ~/.profile</code>",
        "Now start this tutorial by running <code>expressworks</code>",
        "Note that you can resize the c9.io's windows by dragging their borders.",
        "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.",
        "You can view this Node School module's source code on GitHub at <a href='https://github.com/azat-co/expressworks'>https://github.com/azat-co/expressworks</a>.",
        "Complete \"Hello World!\"",
        "Complete \"Static\"",
        "Complete \"Jade\"",
        "Complete \"Good Old Form\"",
        "Complete \"Stylish CSS\"",
        "Complete \"Param Pam Pam\"",
        "Complete \"What's In Query\"",
        "Complete \"JSON Me\"",
        "Once you've completed these steps, move on to our next challenge."
      ],
      "type": "waypoint",
      "challengeType": 2,
      "tests": [],
      "nameCn": "",
      "descriptionCn": [],
      "nameFr": "",
      "descriptionFr": [],
      "nameRu": "",
      "descriptionRu": [],
      "nameEs": "",
      "descriptionEs": [],
      "namePt": "",
      "descriptionPt": []
    }
  ]
}
