Installation¶
Development Requirements¶
The application is based on the Pyramid framework and requires Python 2.7, PostgreSQL and a basic development setup.
Mac OS X¶
On Mac OS it’s recommended to first install the dependencies using brew.
If you want to build the backend:
$ brew install postgres python
If you want to build the frontend:
$ brew install node libpng ruby
Note
Even though Mac OS X ships with Python2.7 it is highly recommended to use the version provided by brew to avoid changing the system’s Python setup.
To finish the build of the frontend you need to install the following npm modules. While in theory this could be done locally for this project by its Makefile, in practice it’s much(!) easier to simply install them globally like so and be done with it:
$ npm install -g yeoman bower grunt-cli generator-angular
Bootstrapping¶
First clone the repository and change into it:
$ cd foobar
To set up a development environment simply run:
$ make
This assumes a PostgreSQL installation on localhost:5432.
Starting up¶
For a full stack you need a running instance of the backend plus the frontend.
Backend¶
To run the application during development use:
$ backend/bin/pserve backend/development.ini
Starting server in PID 76230.
serving on http://0.0.0.0:6543
You can now visit http://localhost:6543.
Frontend¶
The frontend has its own development webserver which is the recommended way to access the stack during development.
For one, it performs automatic reloads in the browser when files change and secondly it proxies requests to the backend to the pyramid instance.