TPGwidget is an iOS/Android app for public transport in Geneva. It uses the free Open Data API provided by the transit operator (transports publics genevois).
TPGwidget includes many features such as :
- stops shortcuts on the home screen
- real-time lines schedules
- routes planning
- vehicles informations
- and much more!
The projet is made with Framework7 in the front end, and PHP in the back end. The app users download on the App Store or on Google Play is powered by Apache Cordova.
Prerequisites : PHP 7+, MySQL, Node.js (dev only)
To run an instance of TPGwidget, you have to :
- Create a copy of the
.envand fill in your TPG Open Data API key and your database credentials.
- Create on your MySQL Server the required tables (use the
On the production server,
- https://tpg.nicolapps.ch is linked to the
tpgfolder. It contains the iOS web app.
- https://tpga.nicolapps.ch is linked to the
tpgafolder. It contains the Android web app.
- https://tpgdata.nicolapps.ch is linked to the
tpgdatafolder. It contains generic data (maps, vehicles images)
Front-end files are compiled with Gulp. To install it, use
npm install gulp-cli -g from the command line. You can then compile the assets using
gulp ios-js and
If you have a question or an idea, you can create an issue. Pull requests are welcome! If you want to contribute, don’t hesitate to look into the unassigned issues.
- Nicolas Ettlin