Simple Login Example built with Node.js (Express), Eco and CoffeeScript
Posted on December 15, 2011
After deciding to port an ActionScript Cafe Townsend example into JavaScript the first step was to build a simple login example.
It is built with Node.js (Express) on server-side and it uses Eco templates to render views on client-side. Most of code is written in CoffeeScript.
Screen shot
Random notes
Here are some notes or tips based on issues I ran into writing this app:
CoffeeScript + Express
- Use cupcake to build a skeleton of your CoffeeScript / Express app as easy as possible
Eco templates
- Don't forget to declare any value sent from server using a
@
within the Eco template, e.g<%- @user.name %>
It took me some time to find and fix such a typo.
Deploying to Heroku
- To run an app written in CoffeeScript on Heroku you have to point the
app.coffee
and notapp.js
as a command to the Procfile as follow:web: coffee app.coffee
- Run
heroku ps
to check if the app has been crashed or not. - In case of crashing check
heroku logs
for very helpful detailes - Heroku may not run the version of Node.js you have installed on your local machine. At the moment of writing this post Heroku is running v.0.4.7., not the latest version of Node.js v.0.6.5. If you have to downgrade your local version you will find here a short instruction.
- To rename your subdomain using by Heroku you have to rename the app itself as follow:
heroku rename newname --app oldname
. After that you may have to repoint your git repository as well:git remote rm heroku
andgit remote add heroku git@heroku.com:newname.git
- Instead of using an hardcoded value for a port check the PORT environment variable in your app.coffee as well
port = process.env.PORT or 9294
Because Heroku tells the app which port is listen to.* Last but not least: Heroku has published an excellent article: "Getting Started with Node.js on Heroku/Cedar"
Source code
You will find all source code and its build instruction at GitHub
Have fun!
-Jens