= EdenMobile = [[TOC]] '''!EdenMobile''' is a mobile application for Sahana Eden. Related pages: - Framework: - [wiki:DeveloperGuidelines/EdenMobile/Database EdenMobile Database] - [wiki:DeveloperGuidelines/EdenMobile/i18n EdenMobile i18n] (Translation of UI messages) - Development Help: - [wiki:DeveloperGuidelines/EdenMobile/Conventions EdenMobile Coding Conventions] - [wiki:DeveloperGuidelines/EdenMobile/Debugging EdenMobile Debugging] - [wiki:DeveloperGuidelines/EdenMobile/Structure EdenMobile Directory Structure] == Development Environment == Eden Mobile is built on the [https://cordova.apache.org Apache Cordova] platform (sometimes known as Adobe !PhoneGap). 1. Cordova runs on '''NodeJS'''. If your OS distribution does not provide a NodeJS bundle, you can get one from here: - [https://nodejs.org/en/download https://nodejs.org/en/download] 2. Use the NodeJS package manager ''npm'' to install Cordova: {{{ npm install -g cordova }}} See also: [https://cordova.apache.org/#getstarted https://cordova.apache.org/#getstarted] 3. If you want to build and test !EdenMobile, you also need an SDK for the target platform, e.g.: - [https://developer.android.com/studio/index.html#downloads Android SDK] - Ensure the SDK tools are in your PATH, e.g. for Windows 10: * %USERPROFILE%\!AppData\local\android\sdk\platform-tools * %USERPROFILE%\!AppData\local\android\sdk\tools 4. You can fork/clone !EdenMobile from here: - [https://github.com/nursix/eden_mobile https://github.com/nursix/eden_mobile] (development trunk, if you want to contribute to the !EdenMobile project) - [https://github.com/sahana/eden_mobile https://github.com/sahana/eden_mobile] (stable, if you want to create custom builds...coming soon) 5. Run the application - You canot run in the 'browser' platform as it doesn't support the local database - It is easier to run on a real device than the emulator - to run on a real device, you need to enable 'Developer Options' by tapping 7 times on the 'Build Number' in the About section (http://www.greenbot.com/article/2457986/how-to-enable-developer-options-on-your-android-phone-or-tablet.html) and then open the new Developer Options panel & enable USB Debugging - see also: [wiki:DeveloperGuidelines/EdenMobile/Debugging#RemoteDebuggingonAndroidDevice Remote-Debugging on Android Device] {{{ cd eden_mobile npm install q-io cordova platform add android cordova run android }}} === AngularJS === !EdenMobile uses the [https://angularjs.org AngularJS] !JavaScript MVC framework. A good introduction into AngularJS can be found here: - [http://www.w3schools.com/angular W3Schools AngularJS Tutorial] === Ionic === The !EdenMobile user interface is built with the CSS and !JavaScript components provided by the [http://ionicframework.com Ionic] framework. Documentation of these components can be found here: - [http://ionicframework.com/docs/components Ionic CSS Components] - [http://ionicframework.com/docs/api JavaScript API] ''Note:'' !EdenMobile does ''not'' use the ''Ionic CLI'' for development and builds, but the Cordova CLI. ---- DeveloperGuidelines