Skip to content

Releases: centraldave/openclassrooms-project-8-tourguide-microservice

Release of the version 1.0.0

18 Dec 18:38
Compare
Choose a tag to compare

Test

JaCoCo

  • Test coverage is currently: 85%

  • fix all existing unit and integration tests

  • add unit tests for all the controller endpoints

Features

Proxy

Build

Model

  • remove completely RewardCentral.jar

  • remove completely TripPricer.jar
    Model added locally:

      • Provider

Pre-release of the version 0.1.0

14 Dec 15:58
Compare
Choose a tag to compare
Pre-release

Features

Proxy

Build

Model

  • remove completely gpssUtil.jar
    The JAR being removed, the models are to be added locally:
      • Location
      • VisitedLocation
      • Attraction

Pre-release of the version 0.0.9

11 Dec 19:26
Compare
Choose a tag to compare
Pre-release

Feat

Performance Integration Tests

  • update integration tests by running them asynchronously
    Currently running 4 times faster than before
      • highVolumeTrackLocation()
      • highVolumeGetRewards()

Caused by (GPS Util)

  • getAttractions()
    • 30 to 100 ms of sleep for each request
  • getUserLocation()
    • 10 ms of sleep for each request

Solution

Running the methods loops asynchronously:

  • CompletableFuture structure added

Pre-release of the version 0.0.8

28 Nov 20:56
Compare
Choose a tag to compare
Pre-release

Hotfix

ConcurrentModificationException

  • fix TestRewardsService.nearAllAttractions() unit test
    Threw when a concurrent modification is detected.
    • Caused by
      Adding items to an ArrayList at the same time using different threads.
    • Solution
      Using a concurrent data structure allowing us to work in multiple threads:
      • ConcurrentLinkedQueue added

Pre-release of the version 0.0.7

25 Nov 20:56
Compare
Choose a tag to compare
Pre-release

Feat

Todo: All Recent Locations

  • update /getAllCurrentLocations endpoint
    Return a serialized JSON list of the most visited locations.

  • update TourGuideService.getUsersRecentLocations

      • Return a list of all the most recent visited locations
      • Between time in days parameter to set (currently 7)

Data Transfer Object (DTO)

  • add DTO RecentLocationDto
    Data object reducing the number of methods calls.
    Contening /getAllCurrentLocations endpoint needs:
      • userId
      • recentLocations

Test

  • add TestTourGuideService.shouldGetAllRecentLocations
    Add a unit test testing a user's recent visited locations count.

Pre-release of the version 0.0.6

23 Nov 17:47
Compare
Choose a tag to compare
Pre-release

Feat

Todo: 5 Closest Attractions

  • update TourGuideService.getNearByAttractions

      • Return a maximum of 5 clostest attractions
      • Fill up to 5 attractions with random attractions
  • add method TourGuideService.getUserById
    Retrieve a testing internal User object by UUID.

  • add model NearAttraction
    Contening /getNearbyAttractions endpoint needs:

      • attractionName
      • attractionLocation
      • milesDistance
      • rewardPoints

Test Driven Design (TDD)

  • start of TDD integration
    Process relying on requirements being converted to test cases
      • 5 Closest Attractions (funcitonality)

Test

  • update TestTourGuideService.getNearbyAttractions
    Fix the unit test to get a random internal User.

Pre-release of the version 0.0.5

18 Nov 18:15
Compare
Choose a tag to compare
Pre-release

Hotfix

  • fix build failure by updating Gradle plugins version
    Spring Boot plugin requires at minimum Gradle 6.8.x, current version being 4.8.1.
      • Gradle (from 4.8.1 to 6.9.1)
      • Spring Boot (from 2.1.6 to 2.5.2)
      • Moneta (from 1.3 to 1.4.2)
      • JaCoCo (from 0.8.4 to 0.8.7)

Pre-release of the version 0.0.4

18 Nov 12:24
Compare
Choose a tag to compare
Pre-release

Feat

Log4j2

  • exclude spring boot logging starter
    Logback being Spring's default logging system.
  • add Log4j2 logging system
    Fastest Java logging framework.

Configuration

  • production (log4j2.xml)
  • testing (log4j2-test.xml)

Refacto

Model–view–controller (MVC)

  • add MVC architecture
    Separates the application into interconnected elements(model, view and controller).
      • model
      • service
      • config
      • controller

Build

  • update server port from 8080 to 7900
    New API link: localhost:7900
  • update spring boot version from 2.1.6 to 2.5.2
    Most recent Spring Boot starters.

Pre-release of the version 0.0.3

14 Nov 20:36
Compare
Choose a tag to compare
Pre-release

Docs

  • add JavaDoc
    Documentation generation system working from formatted comments.
      • Application
      • TourGuideController
      • TourGuideModule
      • TourGuideService
      • InternalTestHelper
      • User
      • UserReward
      • UserPreferences

Pre-release of the version 0.0.2

06 Nov 20:27
Compare
Choose a tag to compare
Pre-release

Hotfix

  • add .gitingore (ignoring IDEA settings)
    Text file where each line contains a pattern for files/directories to ignore.