Biking Endorphines - story REVEALED.

Story behind the bars :)

How this project came to my mind and why I've started it?

This project came to my mind as an idea, that I could motivate myself to ride bike more offen than I do now.

Second part besides of "motivation for riding" is leveling up my technical experience in Python and Android.

I begin to think, that there are sites like "Endomondo", "Strava", but they all share almost the same thing - keeping only how much kilometers/miles you've ride a bike.

They only motivate you in particular way :

  • to ride bike more offen by comparing your amount of kilometers you've rode (Endomondo).

  • to ride bike and compare timing in particular ride-path with others (Strava).

The thing that I've always missed in this type of applications was motivation for:

  • "adventure" - i.e. finding new roads that you can shorten/lengthen/alternate your ride

  • keep-up with your training - motivation for training in particular day with particular path

  • how high you've rode your bike

  • did you ride with your beloved people.

And many others that I might not think-through yet.

I thought why not use endorphines as a badge for each of this "motivation" types and create web-site that will encourage people to collect them by riding bike in different ways.

Calm Endorphines

So that's the idea, now we can go-on to more technical stuff.

Phases of project

I see at least for now 5 phases of this project.

1. Web-Application.

Main part of this project. Other components will be focused around this part.

Database using standard Django ORM with all statistics data per each gps route of biking ride.

Web-part itself will be created using standard Django MVC. Planning to create:

  • Endorphines badges per "motivation" type.

    • each biking ride data will be analysed in search for "endorphines" pattern i.e. to gather "adventure" endorphine, algorithm will compare gps coordinates data located at database.
  • Biking routes statistics

  • Calendar with all biking rides


REST API created with CRUD in mind. Will help access Android application to data available at Web-Application.

Why not SOAP Api you may ask ? Taking into account that all data will be send/received via android phone, you have to create API that will not use a lot of data to transfer information - this disqualifies SOAP as it adds a lot of additional not-needed in this situation data.

3. Android Application.

Android Application will be focused on gathering data and some simple statistics with endorphines badges already gathered.

4. Merging phase.

This phase will be integration of all above components.

5. Maintainance.

Maintainance phase will be focused on:

  • tweaking endorphines gathering-data statistics manipulation

  • tweaking gps data gathering (if any possible)

  • correcting any bugs


What's next

1. Go to phase 1 and start with initial code for database
2. Create first initial unit-tests and add Travis to perform this tests in parallel with pylint tests.


comments powered by Disqus