Skip to content

RussellXY/iBurn-iOS

 
 

Repository files navigation

Build Status

iBurn is an offline map and guide for the Burning Man art festival. For the 2014 release it has been rewritten from scratch for iOS 7 on top of some really awesome open source software. We decided to use YapDatabase+Mantle instead of Core Data, and Mapbox instead of MapKit for our offline map tiles. For a more complete list check out our Podfile. For users of Android devices, we also develop a version of iBurn for Android.

iBurn App Store Link

Installation

  • Install Cocoapods and the most recent version of Xcode.

  • $ git submodule update --init

  • $ pod install

  • open iBurn.xcworkspace (not the .xcodeproj file!)

  • Create BRCSecrets.m and fill it with the following contents:

     NSString * const kBRCHockeyBetaIdentifier = @"";
     NSString * const kBRCHockeyLiveIdentifier = @"";
     // To generate new passcode (without salt):
     // $ echo -n passcode | sha256sum
     NSString * const kBRCEmbargoPasscodeSHA256Hash = @"";
    
  • Compile and Run!

Note: Camp, Art and Event location data (camps.json, art.json, events.json) are embargoed by BMorg until the gates open each year. There isn't anything we can do about this until BMorg changes their policy. Sorry!

Fortunately, you can still run and test the app with the previous year's data.

TODO

  • load image_url for art when internet is available
  • Open in Safari pop up when clicking links
  • Onboarding
  • Show data from previous years
  • Optimizations (only load 1 day of events at a time)
  • Scroll back to top when switching sort
  • Search symbols (.,&,?,...)
  • Use fancy animations instead of reloadData everywhere
  • Show data type for amiguous cells (art, camps) when searching on map
  • Refactor BRCMapViewController and BRCFilteredTableViewController and pull out the common code used for full-text search, and swipe-to-favorite cells.
  • Rewrite FTS search to use YapDatabaseSearchResultsView
  • Show favorites on map after yapdb view loading is complete instead of waiting until retry on viewWillAppear
  • Refactor BRCMapViewController so annotation-loading code is shared between data types
  • Add ability for user to add their own notes to camps, art, events

Contributing

Thank you for your interest in contributing to iBurn! Please open up an issue on our tracker before starting work on major interface or functionality changes. Otherwise, feel free to run wild!

  1. Fork the project and do your work in a feature branch.
  2. Make sure everything compiles and existing functionality is not broken.
  3. Open a pull request.
  4. Thank you! :)

Your contributions will need to be licensed to us under the MPL 2.0 and will be distributed under the terms of the MPL 2.0.

Authors

Attribution

License

© 2014 Chris Ballinger, David Chiles

Code: MPL 2.0 (similar to the LGPL in terms of copyleft but more compatible with the App Store)

Data: CC BY-SA 4.0

Packages

No packages published

Languages

  • Objective-C 99.7%
  • Ruby 0.3%