X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-demo.git;a=blobdiff_plain;f=afb-client%2FREADME.md;h=8be3dececde183ba07f836fcdc5a9218ce8e8f3c;hp=3893f1f07854b55a0ef309a07c7a2af8e7e79f01;hb=HEAD;hpb=043898a1d4ab86e275e7e5981382a07eac530587 diff --git a/afb-client/README.md b/afb-client/README.md index 3893f1f..8be3dec 100644 --- a/afb-client/README.md +++ b/afb-client/README.md @@ -1,67 +1,73 @@ +### Sample client application for Application Framework Binder + +![AFB-Client screenshot](http://iot.bzh/images/afb-client.jpg) + +_(Application Framework Binder can be found on https://github.com/iotbzh/afb-daemon)_ ## Installation Install HTML5 development toolchain on your host 1. Check out this repository - git clone https://github.com/iotbzh/afb-client-sample.git + git clone https://github.com/iotbzh/afb-client.git 2) Install NodeJs [not used on target] - zypper install nodejs - yum install nodejs + zypper install nodejs + yum install nodejs 3) Install building tools [bower, gulp, ....] npm install # this install all development tool chain dependencies sudo npm install --global gulp # this is not mandatory but it will make your live simpler - 4. For livereload functionality [automatic refresh of HTML/CSS] - install [livereload Chrome extension](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei) - -### Overload ./etc/Defaults.js with '.noderc.js' +### Overload ./app/etc/AppDefaults.js with '.noderc.js' var config= { APPNAME : 'AFBclient', // AppName is use as main Angular Module name FRONTEND: "Frontend", // HTML5 frontend [no leading ./] BACKEND : "Backend", // NodeJS Rest API [no leading ./] URLBASE : '/opa/', // HTML basedir when running in production [should end with a /] APIBASE : '/api/', // Api url base dir [should end with a /] - DEBUG : 4001, // Node Debug Port [for mock API debug only] - DBG_LVL : 5, // Debug Trace Level 0=no trace. }; module.exports = config; - WARNING: in current version Frontend/services/ConfigApp.js is not updated automatically - you should make sure than your backend config fit with your frontend config. - Note: FCS version should have ConfigApp.js configurated automatically from GULP, but this is for "tomorrow" + WARNING: in current development version Frontend/services/AppConfig.js is not updated automatically + you should manually assert that backend config is in sync with frontend config. ### Build project gulp help gulp build-app-dev - gulp watch-dev - http://localhost:3001/opa /* debug mock api base on Backend/RestApi */ + rsync -az dist.dev xxxx@agl-target:afb-client -### Test with Application server binder [you may safely run gulp 'watch-dev' + 'afb-daemon' simultaneously] - export MYWORKSPACE=$HOME/Workspace - $MYWORKSPACE/afb-daemon/build/afb-daemon --port=1234 --verbose --token=123456789 --rootdir=$MYWORKSPACE/afb-client/dist.dev - http://localhost:1234/opa +### Test with Application + + # Start AppFramework Binder + export MYWORKSPACE=$HOME/Workspace + $MYWORKSPACE/afb-daemon/build/afb-daemon --port=1234 --verbose --token=123456789 --rootdir=$MYWORKSPACE/afb-client/dist.dev + + Point your browser onto: http://agl-target:1234/opa Note: - - do not forget "/opa" that should match with your config.URLBASE + - do not forget '/opa' that should match with your config.URLBASE - if you change --token=xxxx do not forget to update ./Frontend/pages/HomeModules.js - Force HTML/OPA reload with F5 after each HTML5/OPA update or new pages may not be loaded. - - When reloading HTML/OPA with F5 do not forget that your initial token wont be accepted anymore. You should either restart to clean existing session or cleanup AJB_session cookie. + - When reloading HTML/OPA with F5 do not forget that your initial token wont be accepted anymore. You should either: + + restart to clean existing session + + cleanup AJB_session cookie + + start an anonymous web page to get a fresh and clean environment. ### Move to Target cd $MYWORKSPACE/afb-client gulp build-app-prod - scp -r ./dist.pro/* user@mytarget:/rootdir/apfDaemon + scp -r ./dist.prod/* user@mytarget:/rootdir/afb-client + ssh user@mytarget "afb-daemon --port=3001 --token='' --rootdir=/rootdir/afb-client" + http://mytarget:3001/opa +### Directory structure /AppClient | |---- package.json |---- bower.json |---- gulpfile.js - |---- .noderc.js [Warning: contains private keys should not uploaded in Github] | |---- /Frontend | | @@ -83,13 +89,6 @@ Install HTML5 development toolchain on your host | |... | | - |---- /Backend - | |-- server.js // launcher - | |----/ models // mogoose database schemas - | |----/ providers // authentication services - | |----/ restapis // application APIs - | |---- (/dist.dev) |---- (/dist.prod) - \ No newline at end of file