The terrafab land fabrication front-end app
JavaScript CoffeeScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
client
config
dummy
fabricator
public
routes
views
.gitignore
LICENSE
README.md
cookie-sessions.js
generate.js
npm-shrinkwrap.json
package.json
server.js

README.md

TerraFab

Prerequisites

  • Node.js 0.10.x or newer

Getting up and running

You need the graphics library Cairo installed. Cairo needs to be linked with freetype to work with node_canvas for some reason. A simple way to achieve this if you are using homebrew on OS X is to install Cairo without X11-bindings, like so:

$ brew install cairo --without-x

Then:

    $ npm install
    $ node server.js

The web app should now be accessible at http://localhost:3000

Configuration

All configuration can be done under ./config/app.json. Have a look at the ./config/app.example.json.

In order to configure the accessToken and accessTokenSecret for Shapeways, you may obtain them by calling the route /accesstoken in the app after you have configrued the consumerKey and consumerKeySecret for your Shapeways application.

Model endpoints

/preview

Packages the model into an archive ready for export.

/download

Download the built model archive.

/cart

Lets the user buy the model at Shapeways through our configured Shapeways application.

It assumes the user already have visited the /preview route.

API endpoints

/dtm (GET)

Renders a UTM 33 terrain model for a given bound (box).

Params

box : A bounding box for the map given in UTM 33 coordinates given as 'NWx,NWy,SEx,SEy'.

outsize : The image dimensions in pixels given as 'X,Y'.

format (optional): Either 'png' or 'bin' (16bit binary in ENVI-format).

Example

/dtm?box=253723.176600653,6660500.4670516,267723.176600653,6646500.4670516&outsize=1000,1000

/map (GET)

Renders a UTM 33 map tile for a given bound (box).

Params

box : A bounding box for the map given in UTM 33 coordinates given as 'NWx,NWy,SEx,SEy'.

outsize : The image dimensions in pixels given as 'X,Y'.

Example

/map?box=253723.176600653,6660500.4670516,267723.176600653,6646500.4670516&outsize=1000,1000

Shapeways endpoints

/accesstoken (GET)

Let you login to Shapeways to get an access token for the your Shapeways application. Note: the end user will not be logging into this. It's a tool for obtaining an access token for the application (in order to post models to the Shapeways API).

There is also: /login and /callback which is taken care of by the oAuth bonanza.

Params

None

Example

/accesstoken