Web client for Code Browser (HTML5 + CSS3 + JavaScript + Node.js + Grunt). To develop this project, you will need to have node.js and npm installed on your development environment.
Install Grunt’s command line interface globally if necessary with npm install -g grunt-cli
. You will also need
PhantomJS and CasperJS to run browser tests. Install PhantomJS with npm install -g phantomjs
. Download
CasperJS (1.1-beta3) and look for the installation instructions from here.
Download development dependencies by running npm install -d
.
Run tests with grunt test
. Run integration tests with grunt integration-test
.
Build from source with grunt build
.
To build from source automatically when files are changed run grunt watch
.
Start server with node web.js
. The app will deploy to http://localhost:8080/.
The app is built upon the Backbone MVC app structure. To add functionality, start by creating necessary models — if any. Then proceed by creating required routes and views for the functionality. The views consist of Handlebars templates that create the rendered HTML structure for a given view. The app uses subviews within views extensively to keep the view logics clean as possible.
.
├── Gruntfile.js # Grunt settings
├── LICENSE.md
├── Procfile
├── README.md
├── config # App configurations
├── error.template
├── jshint.json
├── package.json
├── src
│ ├── app.js # App
│ ├── collections # Backbone collections
│ ├── controllers # Controllers
│ ├── helpers # Handlebars view helpers among others
│ ├── models # Backbone models among others
│ ├── routers # Backbone routers
│ ├── templates # Handlebars templates
│ └── views # Backbone views
├── static
│ ├── assets
│ ├── development # Development app (uses clear builds)
│ └── index.html # Deployed app (uses minified builds)
├── test
│ ├── casperjs # CasperJS BDD browser tests
│ ├── config # Test configurations
│ ├── helpers # Helper files for browser tests
│ └── spec # Jasmine BDD Unit tests
└── web.js # Node.js server
See the back-end REST-API documentation for the required client API.
This project has been developed at the University of Helsinki’s Department of Computer Science by:
This project is licensed under MIT.