TourGuide is a game changer Spring Boot web application with MSA (MicroService Architecure) technologies developed by TripMaster.
The strong highlight features of the application's Architecture is that it resonates through its rich functionality for its flexible scalability & high availability .
It is available as a web interface both on PC & mobile platforms for all touristic users.
- Helps explore and discover attractions available near user's travel location;
- Provides reliable and up-to-date real-time information on the discounts for Travel, Hotel reservation, Touristic Attractions Ticket offers, etc.;
- Personalised serach information based on the user's favorite preferences related to touristic attractions and travel offers.
To meet the explosive growth on the touristic user's client base, architecture redesigned is being implemented in this project to optimize performance for high volume user demands.
- Java 1.8 JDK
- Gradle 7.3
- Docker
TourGuide application is composed of 4 microservices:
- TourGuide
- gps-ms (microservice)
- rewards-ms (microservice)
- tripDeals-ms (microservice)
gradle bootRun or ./gradle bootRun
gradle bootWar or ./gradle bootWar or ./gradle bootJar
Use the Dockerfile on the package roots containing individual 4 services to build docker images
SYNTAX:
docker build . -f Dockerfile -t imageNameToBeCreated
Use the DockerImage created above & run a Docker image using the command below
SYNTAX:
docker run -d -p HostPort:InternalAppPort --name dockerContainerNameToBeCreated -d DockerImageName
In case, if want to use an automated multi-container workflow with docker-compose, follow details below:
To deploy all TourGuide microservices in a single go, use the docker-compose.yml on the package root containing all 4 services that will orchestrate multiple containers that work together based on the defined configuration in it.
SYNTAX:
docker-compose up -d
Gradle, Junit (Unit & Integration Tests).
SYNTAX:
gradlew test or ./gradlew test or gradlew clean test
Test Performance on highVolume User Tracking & User Rewards Computations are performed & available.
All endpoints are documented with POSTMAN and can be accessed launched with the below link to POSTMAN:
Mentee: 🡆 @Senthil
Mentor: 🡆 Clément SEZETTRE
Version: 🡆 1.0
@OpenClassrooms & @TourGuide
For further reference, consider the following sections:
The following guides illustrate how to use some features concretely:
