Community application and platform for monitoring public transport.
The purpose of this project was to design and create a platform for public transport monitoring, allowing users to add and monitor local bus connections. It is composed of a mobile application for Android mobile phones and REST API.
- Xamarin.Forms
- ASP.NET Core
- Azure
- Prism.Forms
- Xamarin.Forms.GoogleMaps
- Xam.Plugin.Geolocator
- Newtonsoft.Json
The application allows three main activities:
- Adding new route
- Viewing the routes in the queue
- Searching for routes
When adding a new route, the user must define three elements: carrier, the days on which the course travels, and a list of stops making up the course. When adding stops, the current phone position is downloaded, based on which the system suggests the name of the city and street.
Each correctly created road is added to the queue, where the voting process for the correctness of the road takes place for two weeks.
Two types of it have been implemented:
- Simple - search by specifying the start and destination
- Advanced - extended to select the day or days of the week, date, hourly interval
Each course and stop is described by following punctuality indicators:
- Punctuality index
- Average arrival time before and after time
- Most common time (for bus stops)
Users can start monitoring the route from any course. Thanks to this, when user tracking his position arrive the bus stop,
the date and time will be sent to the server.
This information is used for:
- Notifying other users which bus stop bus has left recently
- Determining punctuality coefficients
Application part | Screenshot |
---|---|
Adding new route | |
"Route queue" | |
Searching - result view | |
Searching - stop details | |
Road tracking |
- Web API:
- Setup data in Connections.cs file: database connection string and AzureMaps Key
- Update database
- Use SharpProxy for share web application in your local network (recommended)
- Alternatively deploy WEB API to your local IIS server
- Mobile application: