GithubHelp home page GithubHelp logo

nko-quickstart's Introduction

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

  1. Register your Node Knockout team.
  2. Install Node.js 8.9.1 locally.
  3. 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:

nko-quickstart's People

Contributors

hunterloftis avatar jmorrell avatar

Stargazers

GAURAV avatar Andrew Danylenko avatar Jacques Crocker avatar

Watchers

James Cloos avatar  avatar

Forkers

jmorrell

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.