This is an Intro to Node.js course for GDI Boston. The course will be taught in 4 two-hour sections with an optional installation night. Course materials drawn from An Absolute Beginner's Guide to Node, Max Ogden's Art of Node, and my brain. Thanks to Cheri Allen's gdi-ruby curriculum for the template for this readme.
Interested in Node.js, but don't know where to start or how to find time to learn it properly? Want to create web applications using JavaScript on both the front and back end? Want to create your first API? Curious how it's even possible to run JavaScript outside of the browser?
Node is an open source project that powers applications and products like Netflix, Uber, LinkedIn, and the New York Times. It is a JavaScript environment designed for asynchronous I/O (input/output).
This class takes place over four consecutive Tuesday evenings, as follows:
- November 10th - 6:30pm to 8:30pm
- November 17th - 6:30pm to 8:30pm
- November 24th - 6:30pm to 8:30pm
- December 1st - 6:30pm to 8:30pm
There is also an optional installation night on Monday, November 9th from 6:30 to 7:30pm.
This will be a very hands on class, so an intermediate understanding of JavaScript is required.
Please bring along a laptop and charger as well as have the following programs installed prior to arriving:
- A text editor. We recommend Sublime Text 3 (free; available for Mac, PC, and Linux)
- node.js
- Create an account on Github and install Git. For an intro to Git you can read this or try this interactive tutorial
Get your developement environment set up on your machine. Install Sublime, node, and Git and meet some of your classmates.
- Node 101
- Explore node's core modules
- Asynchronous callbacks
- the power of
require
- File input/output - read txt and JSON files
- Simple HTTP servers
- BONUS: Events & streams
- Modules, dependencies, breaking your code into multiple files
- Using NPM to include external packages
- How to write your own module
- Creating a server using Express and add a route
- Create a Spotify client to retrieve artists and play songs
- Talk about authentication, security
- Installing mongoDB + adding data to a database
- Pull data from mongo and display it in the browser
- note to self: have front end set up for them
- What JavaScript experience do you have?
- Have you played around with node before (it’s of if you haven’t!)
- What are you looking to get out of the class?
- Do you have something in mind that you want to build?
- Node style guide
- Deployment; there are many options but Heroku is a simple way to get started