sofa / app

Sofa sample app
http://sofa.io
Other
89 stars 31 forks source link

CouchCommerce App

This is our App based on our SDK.

Prerequisites

You need to have the following tools installed globally on you machine:

Make sure to install Java on your local machine.

Installation

Clone the repo via git:

$ git clone https://github.com/sofa/app sofa-app && cd sofa-app

Install depencencies:

$ npm install
$ bower install

Running the App

To run the app you have to make sure that a selenium server is running, since the inital build task will run all provided e2e tests. To run a selenium server all you have to do is to run

webdriver-manager start

The webdriver-manager comes with the installation of protractor (npm install -g protractor).

After that simply run:

$ grunt watch

This will run the build and the delta task. You can now open a browser at http://localhost:9000.

The task also takes care of re-running sub targets during development when changes occur.

Configuration

To configure the app, makes changes in the build.conf.js file accordingly.

Build Tasks

Versioning

Make sure to update dependency versions of sofa in the package.json. Working directly against unversioned npm packages totally breaks the whole idea of version control. Unfortunately we had that wrong for one week between versions 0.32.0 and 0.33.0 so that any ref you might check out in between could be broken in subtile different ways. Deployment packages are correct though since those add a fixed sofa dependency directly to version control.

The typical update process goes like this:

1. Create new versions of sofa dependencies that need updates.

2. OPTIONALLY (IF NEEDED): Create new version of sofa-base

3. Update the app

4. Deploy versions from the console

Contribute

We'd love you to contribute. Please make sure to read the CONTRIBUTING guide line.