Giter VIP home page Giter VIP logo

cyklokoalicia / opensourcebikeshare Goto Github PK

View Code? Open in Web Editor NEW
167.0 46.0 71.0 1.93 MB

The world's first low-cost and open source bike sharing system. (new version in development, use working "breakthrough" release instead!)

Home Page: http://opensourcebikeshare.com/

License: GNU General Public License v3.0

PHP 82.05% JavaScript 13.64% Dockerfile 0.12% CSS 4.11% Hack 0.08%
bike-sharing php javascript bicycles stands bikesharing bikeshare cyclingscheme opensource app

opensourcebikeshare's Introduction

Open Source Bike Share

The world's first low-cost and open source bike sharing system.

Bottom-up bicycle sharing system suitable for smaller communities or areas such as campuses, companies etc.

Website: OpenSourceBikeShare.com

Features

  • Web app (mobile-friendly)
  • Optional SMS system to rent and return bicycles
  • Optional QR code system to rent and return bicycles
  • Web map with geolocation and availability of the bicycle stands
  • Optional credit system for paid rentals
  • Registration form for the new users
  • Admin to edit users, create stands or change bicycle availability
  • Google Analytics enabled for stats on web and bike usage
  • Connector system to support any provider of SMS Gateway / API
  • Easy web install to launch system

Where is it working?

3 bike sharing systems in 2 cities.

Pilot project

Currently running with about 50 bicycles in Bratislava, the capital of Slovakia.

The bicycles in the bike share (featuring four digit code U-locks) The bicycles in the bike share One of the stands One of the stand of the open source bicycle sharing system Another stand with some bicycles One of the stand of the free bicycle sharing system

Cycling Faculty

A faculty of a local university provides 8 bicycles for their students with three stands - the university and two different student housing locations in the city.

Play video to see it in action: Video of Cycling Faculty

Web of the university bicycle share for students

Second city - Kezmarok

Community run system with about 10 bicycles in Kezmarok, Slovakia.

Demo

Whitebikes - do not share your location if you are out of Bratislava, otherwise map will jump out of the bike share area.

How does it work?

  • No special bicycles required, any usable (mid-sized frame) bicycles will do
  • No fixed stands required, stand positions are just marked for visibility
  • Checks and balances included to prevent system abuse
  • Free for all or charge users for rental time

Launch your own bike sharing system!

If you need help to set up your own bike sharing system including the real world part (the stands, bicycles, locks etc.), we are available for consultation.

We will talk to you about the expectations, situation, bicycle theft, potential users and provide you with help to launch your own successful bike sharing system.

First consultation is free, get in touch: [email protected]

Follow us on Twitter: @OpenBikeShare

opensourcebikeshare's People

Contributors

exmatrikulator avatar mmmaly avatar nekromoff avatar nicoloserafino avatar pato1 avatar sneznaovca avatar sveneld avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opensourcebikeshare's Issues

stands photos

if available, include a link to the stand photo in "INFO" command and in the web map

web app for rental

create a web interface which enables bike rental.
Necessary:

  • user auth (e.g. via sms code used when creating user web profile)

Optional:

  • good UX: pre-selects stands according to user's GPS

note1, note2, note3

Implement more possible notes, with that we can repair note. 2 and we dont have to remove another notes....

Mechanics can have more commands, users dont need as much, beginner user will not post a note, just advanced users.

who/where - show 2 last items

who/where - synonyms
should show two last items (stand+user), or three if the user sending the command is the same as the current bike user.
So that every time it is possible to know the phone number of the previous user.

report detailed

Implement detailed report of usage, for one month, from start till now...
for one user, bike, stand.
whole BS scheme, and all users.
i offer design of the UI.

whitespaces whitespaces

can we make system vulnerable to more whitespaces ? If you put whitespace after command system dont get it.

gettext translations + create terms of use / terms and conditions

we need all users to agree on terms of use or T&C where all rules will be written, including that user agrees that in case of stolen/broken bike he got he agrees to pay (up to certain amount) for it and agrees on out-of-court settlement with specified mediator.

implement "FORCE" command

Enables admins to force return, rent, or do other commands circumventing usual checks:
FORCE RETURN bikenum standname = returns the bike even when rented by another user; or when not rented, changes the bike's position
FORCE RENT bikenum = enables a bike takeover

Stand icons are huge

stand icons are too big, they don't scale. please make it scalable to it will look normal from any zoom view of the city, see screenshots
wbbs bug icons big city
wbbs bug icons big safko

Revamp UI

when backend functionality gets somewhat stable, let me know. will take care of the UI.

add rent only / return only stands

when stands needs to be removed / replaced, set special tag (serviceTag?) so it will only allow renting, but not returns.

please, discuss, then reassign.

Implement milestone - all/part bikes for an event

Implement feature, that will write to the timeline that all bikes where at event (festival, conference...) and the certain period of time will be NOT counted in the detailed report.
This can be set also manually and this feature is not necessary atm...

sms uuid check

when problem occurs at bike rental server, the sms gateways server keeps trying to deliver the message. Basically it expects a confirmation from our side in form "sms_uuid: ok".

Check for sms_uuid duplicity prior to message processing, if duplication occurs, notify admin (there is a problem which prevents correct delivery -- a serious problem, probably).

issue with diacritics in sms

when sms command "add" is used and a name consist of Unicode characters such as "á" (included in almost every female name) the confirmation sms is not in Unicode but replaces the character "á" with "?" (questionmark)
not sure if the name of the person added into the database is correctly recorded in the database (but confirmation sms was wrong).

Checks and Balances

Implement checks and balances:

  • high number of rentals by one person in a short time (w.r.t. user limit -- no alarm for servicemen)
  • control bike "stacking" (it seems to be useful to notify admins, too)
  • too many pins known by one person (w.r.t. user limit / admins -- no alarm for servicemen)
  • bike rented for more than 24h

create "REVERT" sms command for admins

REVERT bikenum will revert a wrong/mistaken bike rental.
Ex:

  1. user is at bicycle 66 but reads its number as 60.
  2. RENT 60
  3. Receives sms code.
  4. Realizes the mistake, calls admin
  5. admin, after checking, reverts the state of bike 60 to previous code and stand.
  6. the user can now rent the correct bike.

bug: "note" in report page

string return XX standname note (clear) will not set a empty note, just a word "note" to the report page.

user confirmation (after sms ADD) does not work

after sms registration via ADD, the user clicks the link sent in email, agree.php?key=(key).
But it does not work. Only partial HTML page is displayed, ending with ... "h1>Account activation

" and the user is left unconfirmed.

"INFO stand" command

returns an informative description of the stand.
Ex:
INFO Sasinkova

SASINKOVA stand - Sasinkova, at police station, GPS: 17.1224 48.1494, photo: goo.gl/sasinkova_stand

GPS not centered

opening a map in the web app will not show me area around (me in the center of the screen) but I always see just the right half of the radius. please fix
wbbs bug gps not centered

alter "history" table

  • create a separate column for stand (both for return and rent). This is useful for making queries regarding stand usage; and to implement the "stack".
  • create a separate column linking this action to a previous action (e.g. time, or ID). This is useful to make queries which evaluate duration of various events.

LAST command w/ REVERT

LAST command reports a few past owners and stands. It might be confusing when a recent REVERT occured. Mark those reverted owners/stands with an asterisk (*).

send notes to group

with the note subject (Note Bike 22: Broken wheel)
when deleting the note, an email will be sent with the same subject (Re: Note Bike 22: Broken wheel) and information, who closed the issue.

Clickable phone no.

please make phone numbers clickable whenever they show up. this one was initiated with "where is?" button with WB 70. in case there are any other screens where phone no. appears, please make it a link. Thx.
wbbs enhance clickable phone no

PLZ label this as "enhancement"

4-digit code starting with zero

When a 4-digit code for U-lock starts with zero it won't show the initial zero in the web app's bike nuber box (small squares which shows which bike you have rented and what is the lock code)

wbbs bug zero missing2

Use Google Maps API to navigate user to selected stand

plz label as "Enhancement"

When user selects stand (and side tab/panel) appears with stand name, stand photo link, list of WBs, it may also include link to navigate to stand (Navigate to here) using Google Maps API (opening externally in the Google Maps app)

credits, payments, bookkeeping

prepare (optional) debit from user's credit when:

  • user rents a bike for more than x hours
  • user wants to rent a second bike (wants to ride a bike with their friend, who is not registered) -- temporarily increase bike rental limit
  • user violates some of the rules

description for actions / buttons / links in UI

sth. like:
LAST USAGE - Will show statistical information about the bike
REVERT - In case of misspeled bike number, etc. revert accidentaly rented bike in case you will rent it by mistake. Be carefull !..
Walking direction - will show you approximately calculated distance in metres.
RENT - By pressing the button you will receive a code to unlock the rented bike and also a newly generated code you will change immediately.

revert via web app issue

I tried to revert code on a bike via web app (admin command) but it kept loading and nothing happened

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.