• page

Build Status

Bitballs is a DoneJS app that enables users to coordinate the players, teams, games, rounds and recordings of a basketball tournament. It also serves as an example of how to use DoneJS with sessions, user privileges, RESTful services, and ORM models.

To run the Bitballs app locally, run its tests, or generate its documentation follow the steps outlined below.

Setup Environment

Make sure you have installed:

Installing PostgreSQL on OSX

On a Mac, the easiest way to install and configure PostgreSQL is using the brew utility:

brew install postgresql

Pay special attention to the end of the brew command's output, which includes instructions on how to start postgres:

To load postgresql:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Or, if you don't want/need launchctl, you can just run:
  postgres -D /usr/local/var/postgres

The provided launchctl command ensures the postgres process is always running, even after a system restart. The alternative postgres command starts the postgres process manually.

We recommend the launchctl option. If desired, postgres can be stopped and uninstalled by running:

brew uninstall postgresql

Installing PostgreSQL on Linux

Coming Soon

Installing PostgreSQL on Windows

Download and use the graphical installer available on Make sure you host it listen to port 5432.

Open pg_hba.conf, which should be in C:\Program Files\PostgreSQL\9.5\data, and change from md5 authentication to trust. For example, change:

host all all md5


host all all trust

trust should not be used in a production environment. We are only using it here as a substitute for the peer mode available in UNIX environments. Read more about it here.

Finally, using pgAdmin III graphical database manager, which should have been installed with postgres, create a bitballs database.

Download Source

Clone this repo using git:

git clone

Install Dependencies

To install the project's JavaScript dependencies run:

npm install

Additionally DoneJS's command line utilities need to be installed globally:

npm install -g donejs-cli

Prepare the Database

Make sure the postgres process is running:

ps | grep postgres

You should see "postgres -D" among the output:

92831 ttys000    0:00.02 postgres -D /usr/local/var/postgres
92856 ttys000    0:00.00 grep postgres

With that confirmed we can create the database that the bitballs app will persist its data to:

createdb bitballs

Next, create the database schema that the application expects by running:

npm run db-migrate

Start the Server

With all the prerequisite setup completed the server can be started by running:

donejs start

Register a User

Navigate to http://localhost:5000/register in your browser and follow the instructions.


You're finished! Explore some of the app's features:

  • Live reload (donejs develop)
  • Run the tests (donejs test)
  • Generate the documentation (donejs document)