telecode
v0.0.3
Published
Hello, Node Knockout hackers!
Downloads
2
Readme
Node Knockout Quickstart
Hello, Node Knockout hackers!
Seven years ago, before I ran Heroku's Node.js platform, I started learning node when a friend convinced me to join his team in the first Node Knockout. We submitted an awesome, ambitious entry that was riddled with bugs.
I entered the next year, and the next year, and didn't place until year three, but I had an amazing experience every time. Node Knockout is a great way to push yourself, to learn, to have fun, and to hang out with friends.
From my own experience, my biggest piece of advice for teams is: scope your design to what you think you can accomplish in 8 hours. Then, you might have a shot at finishing mostly-bug-free in 48.
Right behind that would be: do not wait until the last minute to deploy your application. Start from something basic, get it running in production, and then push it periodically as you work on it.
It can be helpful to start from a known-good reference, so I've put together this extremely minimal quick-start with instructions to take you from zero to "Hello, world," with some ideas about where you might go afterwards. If you find yourself stuck early on, this is a known-good point from which you can get un-stuck.
If you're more comfortable with the patterns in create-react-app, there's a documented react/node starter pack that gets you set up with a backend Node service and a static frontend React app as well.
Getting set up
- Register your Node Knockout team.
- Install Node.js 8.9.1 locally.
- Install the Heroku CLI and log in with your free account.
Creating your NKO app
First, give your app a name and pull the quick start code:
$ git init my-nko-idea
$ cd my-nko-idea
$ git pull https://github.com/hunterloftis/nko-quickstart.git
Then, create an app on Heroku and check that you get "Hello, Node Knockout:"
$ heroku create my-nko-idea
$ git push heroku master
$ heroku open
If everything looks good, save your app name in your Node Knockout Team page, which will then give you 500 additional free dyno hours from Heroku for you to add to your account. You can also add any other team members who should be able to deploy:
$ heroku access:add [email protected]
$ git remote add origin (your node knockout github url)
$ git push origin master
Developing locally
First, install dependencies:
$ npm install
Then, start your app in dev-mode, open localhost, and edit away:
$ npm start
Deploying changes
To deploy updates to your app:
$ git commit -am 'something awesome'
$ git push heroku master
$ heroku open
You might also want to stream your app's logs in the background:
$ heroku logs --tail
Leveraging the Ecosystem
I encourage you to use Heroku's ecosystem of free add-ons so you can focus entirely on what makes your app unique during the competition. I've listed a few here, but there are many more:
- Data stores: Postgres, Redis, MongoDB
- Queues and messaging: AMQP, Pusher
- Other: User management, Geocoding, Video, audio, image processing