-
Client
- Displays the number of bikes available of the currently selected station [MVP].
- WPF client instead of a console one [Extension Development #1].
- Search bars for cities and stations.
-
Server
- All requests between the service and the API and between the service and the client are asynchronous [Extension Development #2].
- The service uses caching to reduce communications with the API [Extension Development #3].
- Open the solution
Velib_Gateway_WS.sln
in theVelib_Gateway_WS
folder - For the console client :
- Set
ConsoleClientForVelibGatewayWS
as startup project - Just launch it, it should launch the server with it.
- A console should appear, type
help
to see the available commands. - Type
getcities
to get the available cities,getstations <city>
to get the stations names for a city, andgetbikes <stationName>
to get the available bikes for a station. For the last command you can type a part of the name, the service should find the corresponding station. - To close the client, you can type
exit
.
- Set
- For the WPF Client :
- Set
WPFClientForVelibGateway
as startup project - Just launch it, it should launch the server with it.
- The UI should be intuitive enough. (See screenshot below)
- Set
- Caching could have been made using C# classes (example here).
- Caching uses arbitrary values that might not be optimal ones, currently the stations data are invalidated after 5 minutes and the cities data after 1 hour.