🚴 Let's Go Biking — JCDecaux Bike Route Planner

· 3min · Marcus Aas Jensen
Let's Go Biking App Interface

🚴 Let's Go Biking is a school project designed to provide a convenient itinerary for cyclists traveling between two addresses using the JCDecaux bike service. The application functions as a self-hosted SOAP server on the server side, accompanied by a robust Java-based heavy client. Utilizing WCF servers, the app communicates through REST APIs and a routing service with proxy and cache, connecting seamlessly with providers like JCDecaux and OpenRouteService.

đŸ’ģ GitHub Repository

Lets Go Biking Repo

đŸŽ¯ Key Features

  • Route Planning: Calculate optimal bike routes between two addresses.
  • JCDecaux Integration: Utilize JCDecaux bike stations for real-time availability.
  • OpenRouteService: Leverage OpenRouteService for accurate pathfinding.
  • Caching & Proxy: Improve performance with caching and proxy mechanisms.
  • Cross-Platform: Developed with C# for the server and Java for the client.

🧱 Development

Built with:

  • C# .NET – Server-side logic and SOAP services.
  • Java – Client application for user interaction.
  • WCF – Communication framework for service-oriented architecture.
  • OpenRouteService – Routing service for pathfinding.
  • JCDecaux API – Bike station data integration.
  • OpenStreetMap – Geospatial data for mapping.

🔧 Setup

Open git bash and clone the project folder.

git clone https://github.com/marcusaasjensen/lets-go-biking.git

Open the cloned project folder lets-go-biking.

Setup your API keys in a .env file inside the Server folder.

Replace the fields by your API keys for each services and according to the following .env.template file.

OPEN_ROUTE_SERVICE_API_KEY=your_api_key
JCDECAUX_API_KEY=your_api_key
tip
Tip

You can create accounts on both services to get your API keys.

  • JCDecaux API key: https://developer.jcdecaux.com/
  • Open Route Service Api key: https://openrouteservice.org/

Open the Server/LetsGoBiking.sln project file with Visual Studio.

Right click on Solution and select "Build Solution" and wait until successful build.

warning
Warning

Make sure to use the Java Version 11 to run the client side afterwards. Also check if you have maven installed.

Launch the app simply đŸ–ąī¸

Click on the LetsGoBiking.bat file.

Launch the app manually âš™ī¸

First, run both the Routing and the ProxyCache servers inside the associated folders:

  • Server/ProxyCacheServer/bin/Release/ProxycacheServer.exe
  • Server/RoutingServer/bin/Release/RoutingServer.exe

Secondly, open the command prompt in the Client folder and run in order:

mvn clean install
mvn compile
mvn exec:java -Dexec.mainClass="com.soc.testwsclient.Main"

Or (using IntelliJ)

Open the Client project inside IntelliJ idea, and run in the local terminal:

mvn clean install

Finally, compile and run the main class.