Changeset 464 for Dev/trunk/README.md


Ignore:
Timestamp:
06/23/13 21:46:11 (12 years ago)
Author:
hendrikvanantwerpen
Message:

Working deployment to Heroku.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • Dev/trunk/README.md

    r463 r464  
    1 ===
    2 QED
    3 ===
     1# QED
    42
    5 Install
    6 -------
     3This document describes how to develop this code base and the source
     4code organisation.
    75
    8 - Install CouchDB
    9 - Install Node.js
    10 -
     6## Development, Install and Deploy
    117
     8Source files are located in `src`. Build and deployment is managed
     9with _Grunt_, a node based task runner.
     10
     11First make sure _node_, _npm_ and _couchdb_ are installed. Then
     12install all dependencies by running `npm install`. To run _grunt_,
     13you'll have to install the commandline client with `npm install -g
     14grunt-cli`.
     15
     16From source to a deployable version goes in few steps.
     17 1. Develop in `src`.
     18 1. Create a development version with `grunt build`. This will put a
     19    complete uncompressed version in `build/development`.
     20 1. Run the development version with `node server/standalone.js` or
     21    `foreman start`. For the last option, you have to have the Heroku
     22    chain installed.
     23 1. When editing more files, you can skip copying the fixed
     24    dependencies and only process our own source files by running
     25    `grunt compile`. If dependencies change (e.g. you installed node
     26    modules) or you have the feeling something is weird, just do a
     27    clean build by running `grunt build` again. Don't forget to
     28    restart the server.
     29 1. When you feel your changes are production ready, create a
     30    production version by running `grunt deploy`. This will do a
     31    _Dojo_ build on the client, creating compressed CSS and
     32    Javascript.
     33 1. You can test this version with the same commands as the
     34    development version, but now from the `build/production`
     35    directory. You can distribute the content is this directory as a
     36    release.
     37 1. If you want to deploy to Heroku, do the following:
     38    ```sh
     39    $ git clone git@heroku.com:quod-erat.git build/quod-erat
     40    $ cd build/quod-erat
     41    $ rm -rf *
     42    cp -r ../production/* .
     43    git add .
     44    git commit -a -m "Something informative goes here..."
     45    git push
     46    ```
    1247
    1348File organisation
    1449-----------------
     50
     51 * _/_ Project root
     52   * _build/_ Builds go here
     53     * _development/_ Uncompressed build
     54     * _production/_ Minified build
     55   * _docs/_ Project documentation, design documents etc
     56   * _src/_ Source code
     57     * _client/_ Dojo web client
     58     * _server/_ Node/Express server
     59     * _Procfile_ Heroku process description
     60
     61```
    1562client/
    1663  The web application for QED.
     
    66113      Contains general widgets that are used in our application but do
    67114      not depend on our model.
    68   rx/
    69     Rx.JS reactive framework for Javascript
    70     rx.dojo.js
    71       Custom file to integrate Rx with Dojo.
    72115  util/
    73116    Dojo utils (e.g. build infrastructure)
     117```
Note: See TracChangeset for help on using the changeset viewer.