Giter Club home page Giter Club logo

e-mission-data-collection's Introduction

e-mission is a project to gather data about user travel patterns using phone apps, and use them to provide an personalized carbon footprint, and aggregate them to make data available to urban planners and transportation engineers.

The current version integrates with moves for the data collection. This repository tracks our attempts to move to our own data collection.

The data collection uses a geofence for duty cycling, the fused API for location, and the built-in activity recognition for segmentation.

Instructions

This is currently a cordova plugin. This means that although the change is made here, in the plugin, you need to test using the e-mission-phone code, which uses the plugin.

Cross-platform development, principled

  1. Check out this repo somewhere (say ~/e-mission/e-mission-data-collection)
  2. Follow the instructions to check out and run the e-mission-phone code. That is a separate repo, so you will check it out in a separate directory (say ~/e-mission/e-mission-phone)
  3. Go into the phone directory $cd ~/e-mission/e-mission-phone
  4. Remove the existing plugin ($ cordova plugin remove edu.berkeley.eecs.emission.cordova.datacollection)
  5. Add your copy of the plugin ($cordova plugin add ~/e-mission/e-mission-data-collection)
  6. Re-run the phone code
  7. Every time you make a change to the plugin code, you need to remove and re-add it, and then you can test the change

Quick development using the IDE

While the above way is principled, it is very slow. A faster approach is to use the IDE for the appropriate platform.

  1. Run the e-mission-phone code once so that it generates all the project files
  2. Open the project in the IDE for the appropriate native platform
  3. Android: Open ~/e-mission/e-mission-phone/platforms/android/build.gradle using Android Studio
  4. iOS: Open ~/e-mission/e-mission-phone/platforms/ios/emission.xcworkspace using XCode
  5. make all the change to native code in the IDE and test them, and
  6. copy all the changes from ~/e-mission/e-mission/phone/platforms/android/src/edu/berkeley/eecs/emission/cordova/tracker -> ~/e-mission/e-mission-data-collection/src/android, and
  7. finally check in the changes back into this repo from the ~/e-mission/e-mission-data-collection directory.

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.