Giter VIP home page Giter VIP logo

bikenweb's Introduction

Biken Web

https://bikenapp.com/

Web version of Biken in Python using Flask. Biken was a school project of pathfinding. This was originally a software in C++ using Qt. This project is to transform the old project into a web based application. The routing is not made on my server because of performance issue. I'm using MapBox Direction API to make the calculations.

Why did I built this ?

Mainly for fun, there are already other sites offering similar features but I wanted to develop my own version. It's also the first big fullstack project I'm working on, where I have to manage the web interface, the back-end, the database, the hosting, etc...

Main features

  • Generation of itinerary between two cities.
  • Generation of random circular trip around the start point.
  • Share easily an itinerary to some friends, you do not need to create an account to share or consult an itinerary.
  • Exporting created itineraries in GPX files ( Garmin compatibility).
  • Saving itineraries for later consultation.
  • Connect with Strava to get your past activities, edit the road, and create a GPX files from it.

Account and login

The website support 3 different type of login.

  • Google Login
  • Strava Login
  • Classic email and password login

I recommend using Google or Strava if you want to create an account. It use OAuth authentication and no password are send to my application. The only scope required by the application is the email address for Google and only the public information for Strava to show your past activities. However, if you prefer using your email for login it's also possible.

No emails will be sent to your email address, it is only used as identification method. Currently the password reset is disable.

Account binding

If you are connected with Google or with your email address and you go to "Activities" you can authenticate yourself with Strava to see your past activities. Once this is done, the Strava account is bind to your account and you will have two way to authenticate to the same account.

Next features

  • Adding waypoints on the route by clicking on the map
  • Improve design
  • Use an private instance of a routing machine ( remove dependencies to tiers ). Probably OSRM to use OpenStreetMap data.

Want something in particular ? Propose your idea in an Issue, i'm open to all modification.

Found a bug ?

Feel free to open an issue or send me an email if you encountered a bug and I will try to fix it.

Screenshots

This is some screenshots so you can see all parts of the application even without creating an account.

One way itinerary

Oneway itinerary

Round trip

Round trip

Login

Login page

Profile page

Profile page

Activity page (not logged in with Strava)

Activity page (not logged in with Strava)

Activity page

Activity page

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.