DroneShare is a shared repository of drone missions built using DroneKit-Cloud
Switch branches/tags
v1.1 v1.0 deploy-production-2014-11-24-131637 deploy-production-2014-09-26-170709 deploy-production-2014-09-12-174308 deploy-production-2014-07-29-115314 deploy-production-2014-07-28-141144 deploy-production-2014-07-24-155854 deploy-production-2014-07-24-153730 deploy-production-2014-07-09-152824 deploy-production-2014-07-07-112318 deploy-production-2014-06-26-085130 deploy-production-2014-06-18-095115 deploy-production-2014-06-10-162455 deploy-production-2014-06-08-223808 deploy-production-2014-06-08-204644 deploy-production-2014-06-08-173620 deploy-production-2014-06-08-152724 deploy-production-2014-06-07-224935 deploy-production-2014-06-07-085527 deploy-beta-2014-11-24-130502 deploy-beta-2014-09-26-164357 deploy-beta-2014-09-17-175800 deploy-beta-2014-09-16-112256 deploy-beta-2014-09-12-152930 deploy-beta-2014-07-29-115057 deploy-beta-2014-07-28-141039 deploy-beta-2014-07-24-155808 deploy-beta-2014-07-24-133704 deploy-beta-2014-07-23-124036 deploy-beta-2014-07-22-184425 deploy-beta-2014-07-22-184049 deploy-beta-2014-07-21-123414 deploy-beta-2014-07-21-121121 deploy-beta-2014-07-19-201439 deploy-beta-2014-07-09-173712 deploy-beta-2014-07-08-113852 deploy-beta-2014-07-08-111618 deploy-beta-2014-06-30-171011 deploy-beta-2014-06-30-120154 deploy-beta-2014-06-29-164515 deploy-beta-2014-06-28-095723 deploy-beta-2014-06-26-084022 deploy-beta-2014-06-25-172012 deploy-beta-2014-06-25-164239 deploy-beta-2014-06-25-163055 deploy-beta-2014-06-15-112432 deploy-beta-2014-06-15-103921 deploy-beta-2014-06-13-154941 deploy-beta-2014-06-12-123655 deploy-beta-2014-06-10-170747 deploy-beta-2014-06-10-170615 deploy-beta-2014-06-10-100855 deploy-beta-2014-06-10-093341 deploy-beta-2014-06-08-223610 deploy-beta-2014-06-08-204537 deploy-beta-2014-06-08-173607 deploy-beta-2014-06-08-151042 deploy-beta-2014-06-08-143017 deploy-beta-2014-06-08-105057 deploy-beta-2014-06-07-224811 deploy-beta-2014-06-07-085738 deploy-alpha-2014-11-26-140815 deploy-alpha-2014-11-24-130358 deploy-alpha-2014-11-11-154612 deploy-alpha-2014-10-20-141323 deploy-alpha-2014-09-26-163913 deploy-alpha-2014-09-15-174056 deploy-alpha-2014-09-12-173235 deploy-alpha-2014-09-12-152313 deploy-alpha-2014-09-04-123408 deploy-alpha-2014-09-04-111256 deploy-alpha-2014-09-04-110523 deploy-alpha-2014-09-02-203805 deploy-alpha-2014-09-02-203616 deploy-alpha-2014-08-29-150456 deploy-alpha-2014-08-28-183753 deploy-alpha-2014-08-18-112606 deploy-alpha-2014-08-18-104803 deploy-alpha-2014-08-11-101035 deploy-alpha-2014-08-01-154714 deploy-alpha-2014-08-01-145001 deploy-alpha-2014-08-01-143719 deploy-alpha-2014-07-29-114600 deploy-alpha-2014-07-28-150800 deploy-alpha-2014-07-28-140929 deploy-alpha-2014-07-24-155715 deploy-alpha-2014-07-24-133602 deploy-alpha-2014-07-24-133237 deploy-alpha-2014-07-23-123833 deploy-alpha-2014-07-22-163841 deploy-alpha-2014-07-21-172936 deploy-alpha-2014-07-21-163251 deploy-alpha-2014-07-21-123225 deploy-alpha-2014-07-21-120934 deploy-alpha-2014-07-19-201349 deploy-alpha-2014-07-09-173748 deploy-alpha-2014-07-08-113807 deploy-alpha-2014-07-08-111545 deploy-alpha-2014-07-07-111323
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src Cleaning out all of the "Unnecessary fat arrow" warnings Jul 11, 2015
test Protractor runner dev and Saucelabs integration Oct 21, 2014
.bowerrc refactor bower config to filter unwanted files Dec 15, 2013
.editorconfig standard indentation everywhere Jul 29, 2014
.gitattributes set file type conversion rules Apr 11, 2014
.gitignore ignore annoying mac attribute hidden file DS_Store Jun 6, 2014
.travis.yml chore(ci): add Travis build config Feb 13, 2014
Gruntfile.coffee Basic tests now include integration tests Oct 31, 2014
INSTALL.md make sure we include bower install step Oct 31, 2014
LICENSE change to Apache license (all sample code removed) May 8, 2014
README.md Adding DroneKit to Read.me Mar 27, 2015
WELCOME.md fix typo Jun 8, 2014
bower.json ngprogress-lite 1.0.6 introduces require.js patching that breaks the app Mar 18, 2015
deploy-s3.sh cleanup root dir and add comments on deploy script Sep 16, 2014
deploy-to-appengine.sh add deployment to appengine Apr 12, 2014
droneshare.sublime-project cleanup root dir and add comments on deploy script Sep 16, 2014
megadroneshare.sublime-project This file must be in source control to nicely use sublime. Nov 14, 2014
middleware.coffee @mrpollo this fixes html5 mode for the local webserver May 30, 2014
package.json implicitly ask for bower Oct 31, 2014
protractor.conf.coffee changing defaultTimeoutInterval back to 30000 Jul 11, 2015
protractor.saucelabs.conf.coffee changing defaultTimeoutInterval back to 30000 Jul 11, 2015
routes.coffee cleanup root dir and add comments on deploy script Sep 16, 2014



Build Status:

Codeship Status for diydrones/droneshare

The new version of droneshare - built upon the DroneKit. Please see our welcome letter.

Developers guide

This application is built using AngularJS and coffeescript.


Before we continue make sure your system is running with the latest stable versions of the following packages

Getting the source

you either want to download the latest version or use git to get either our own or your fork of the project.

to get our repository

git clone https://github.com/diydrones/droneshare.git

to get your fork

git clone git@github.com:YOUR-USERNAME/droneshare.git

or finally theres a zip download of the latest version available.

Download Zip


To install the app you need to install the packages required for this project, the app has Node package requirements and Bower library packages.

You can find the list of npm packages inside the packages.js file.

The bower list can be found inside the bower.json

to install just do

npm install
bower install
grunt bower:install

Running the app

Configure your web server to the dist folder on the app and run the build, prod or dev tasks

grunt build

this will generate the files your web server needs to launch the app


To run tests you need to run the test grunt task which builds the app then runs the tests

grunt test

If you are planning on debugging tests we recommend you use either the test or karma grunt tasks with the --watch option

grunt test --watch
grunt karma --watch

this will leave a process running watching for changes on the test files, which speeds up testing.

A pro-tip is to launch your browser at the url specified when running the tests

Here is an example excerpt output from grunt karma

Running "karma:unit" (karma) task
INFO [karma]: Karma v0.12.16 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket tIC2TRlp_tzgnpb0U1mB with id 25791127

Notice the url from Karma http://localhost:9876/ open that on your browser so you can set debug breakpoints to help you debug your tests.


There are 3 ways of compiling the app depending on your needs

  1. grunt build - will compile the app preserving individual files (when run, files will be loaded on-demand)
  2. grunt or grunt dev - same as grunt but will watch for file changes and recompile on-the-fly
  3. grunt prod - will compile using optimizations. This will create one JavaScript file and one CSS file to demonstrate the power of r.js, the build optimization tool for RequireJS. And take a look at the index.html file. Yep - it's minified too.
  4. grunt test - will compile the app and run all unit tests

What is Coffeescript?

Coffeescript is like javascript but with much less boilerplate code. It compiles down to javascript (trivially). If you've never used coffeescript, please see this five page user guide. If you still prefer javascript: We've got ya covered. Simply run the following grunt task.

grunt jslove - will transpile all of the CoffeeScript files to JavaScript and throw out the Coffee.

A note on tabs, spaces and line-endings

This project uses a http://editorconfig.org/ file to specify source formatting conventions. We encourage you to install a suitable plug-in into your text-editor of choice.