Releases: centraldave/openclassrooms-project-8-tourguide-microservice
Release of the version 1.0.0
Test
JaCoCo
-
Test coverage is currently: 85%
-
fix all existing unit and integration tests
-
add unit tests for all the controller endpoints
Features
Proxy
-
add RewardCentralProxy endpoints accessible at: localhost:7922
-
add TripPricerProxy endpoints accessible at: localhost:7933
-
remove all existant use of JAR files and add proxies endpoints
Build
Model
-
remove completely RewardCentral.jar
-
remove completely TripPricer.jar
Model added locally: -
-
- Provider
-
Pre-release of the version 0.1.0
Features
Proxy
- add GpsUtilProxy endpoints accessible at: localhost:7911
Feign is a declarative web service client creating GpsUtil microservice interface.
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
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
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.
- Caused by
-
- Solution
Using a concurrent data structure allowing us to work in multiple threads:
- Solution
-
-
- ConcurrentLinkedQueue added
-
Pre-release of the version 0.0.7
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
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
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
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
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
Hotfix
- add .gitingore (ignoring IDEA settings)
Text file where each line contains a pattern for files/directories to ignore.