Giter Site home page Giter Site logo

nxtr_ionic's Introduction

NXTR - Next Train App implemented with Ionic framework and Cordova

This is a sample mobile application based on the opendata.ch Transport API (http://transport.opendata.ch) which allows the user to visualize the schedule of the upcoming trains, tramways and buses for a specific stop.

The App is itself a show case to demonstrate how to achieve the following goals:

  • Implementing a mobile application with Cordova, AngularJS and the Ionic framework
  • Building and packaging an optimized JS application with GruntJS
  • Automated unit testing with Karma
  • Automated e2e testing with Protractor (as web application in mobile browser and as mobile application in the iOS emulator)
  • Integration with CI servers (Travis CI)
  • Code signing and delivery to a test group via Web

To install and build / run the application, please follow these steps:

  • Install NodeJS (npm required): follow instructions in http://nodejs.org or use 'homebrew' if already installed
  • Install grunt cli: 'sudo npm -g install grunt-cli'
  • Install Cordova: execute 'sudo npm -g install cordova' (required to be installed globally because of the ionic framework CLI)
  • Clone the Github repository: 'git clone https://github.com/almilo/nxtr_ionic.git'
  • Once the repository has been cloned, execute:
    • 'cd <cloned_directory>' (ex: 'cd nxtr_ionic')
    • 'npm install' (to install dependencies)
    • 'grunt install' (to perform other required install tasks like webdriver-manager update)

Grunt goals:

  • 'grunt': default task that executes the sub-tasks 'clean', 'build' and 'test'. This performs a build of the web application, a unit test run with Karma and Chrome and a e2e test run with Protractor using the iOS emulator and mobile Safari against a Connect web server hosting the web application.
  • 'grunt dev': task to support the 'dev flow' that builds the web application, starts a web server with 'livereload' and watches the source files to re-build, test and reload the application when changes are saved
  • 'grunt serve': builds and opens the web application in the default browser against a local web server
  • 'grunt ios': builds and opens the Cordova application in the iOS emulator (requires a Mac computer with XCode)

Pending goals:

  • Integrate with Travis CI
  • Automate code signing
  • Deliver the signed application to a public web server
  • Implement the real functionality ;)

nxtr_ionic's People

Contributors

almilo avatar sibyllepeter avatar gemasantiago avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.