Giter VIP home page Giter VIP logo

iburn-ios's Introduction

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

iburn-ios's People

Contributors

chrisballinger avatar andrewljohnson avatar davidchiles avatar rckclmbr avatar

Watchers

James Cloos avatar RussellY 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.