Skip to content
 
 

Repository files navigation

TourGuide

Openclassrooms project number 8

About The Project

Application TourGuide for the startup TripMaster. This is a Gradle multi-project Spring Boot + Docker application for project number 8 of Openclassrooms java back-end formation.

Project goals:

  • Improve gpsUtil execution time in TourGuideService.trackUserLocation.
  • Improve RewardsCentral execution time in RewardsService.getRewardPoints.
  • Add an entrypoint for user preferencies modifications, this will allow tripPricer to calculate with correct inputs.
  • Split TourGuide in a Gradle multi-project and deploy in docker containers.
  • Modify the method TourGuideController.getNearbyAttractions to return closest five tourist attractions to the user.
  • Correct unit tests bugs due to "java.util.ConcurrentModificationException"
  • Modify performance load tests to use multithreaded solution developped for gpsUtil/RewardsCentral execution time.
  • Modify the method TourGuideController.getAllCurrentLocations according to the TODO, and create unit test.

Global class diagram

UML-class-diagram

Built With

Getting Started

This is how to set up the project locally. To get a local copy up and running follow these simple example steps:

Prerequisites

Check that you have :

Installation

  1. Choose a directory
    cd /path/to/directory/project
  2. Clone the repo
    git clone https://github.com/jerome13250/JavaPathENProject8.git
  3. Select the JavaPathENProject8 directory
    cd JavaPathENProject8
  4. Assemble executable jar archives using gradle wrapper provided in the folder, it downloads automatically the correct Gradle version if necessary.
    gradlew clean bootJar
  5. On Windows system, use WSL2 (Windows subsystem Linux)
    wsl
  6. Launch the docker-compose to launch the 4 components:
    docker-compose up
  7. To access the application endpoints, open your browser, go to :
    webapp Swagger
    gps-api Swagger
    reward-api Swagger
    trippricer-api Swagger

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages