Giter Club home page Giter Club logo

bicyclette's Introduction

Bicyclette is the best iOS app for Bike-Sharing systems. It’s ultra-fast and ultra-simple. It works in more than 50 cities in the world.

Just a map. With stations. Nothing else.

You don’t even have to launch the app : Bicyclette automatically fetches the number of bikes available when you approach your favorite station and shows a notification on the Lock Screen.

See bicyclette-app.fr for details.

Development Notes

DataGrabber

For some cities, Bicyclette embeds the list of stations of the network. The point is that at first launch, you don’t have to wait for the station to load anything. The tool responsible for this is DataGrabber. It fetches the data for every system, and saves the database for a few dozens of these. This data is then copied as resources of the app.

Although it’s a mac tol, DataGrabber uses the same backend code as the app. It must be run at least once before compiling Bicyclette.

DataGrabber can be run with several options, controlled by userdefaults/command line arguments. Look into the DataGrabber scheme run options for details.

Accounts

Some webservices (namely, Bordeaux, Rennes, Velopass, and TOBike) require an API key info to connect to their webservices. This information (the _Accounts.json file) is not included in the Bicyclette repository. You'll have to get your own API keys.

Mapping

The single most important file in the app is BicycletteCities.json. It contains Keys-Mapping definitions, urls, general info, and other specific tidbits for every city of Bicyclette.

Also important is Cities.md where I listed implementation notes for each system.

Bicyclette uses another of my projects, KVCMapping to make importing into the DB very easy.

Screenshots

There’s another run scheme that tries to make easier the whole process of making screenshots for the appstore (and for the Default.png). Again, look for the options in the Run Arguments of the Screenshots scheme.

Contributions

are most welcome. Just contact me before you start something big, I may have some idea about it.

Reusing code and compontents

The code is BSD-licensed. However :

  • If you want to adapt it to another platform, tell me about it.
  • Don’t publish a clone on the iOS appstore. Hell, it’s a free and open-source app, what would be the point ?

bicyclette's People

Contributors

n-b avatar

Watchers

 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.