5, 10 or 20 seats+ for your team - learn more
Step into the role of a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation reservation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is reaching new heights, the performance of its reservation microservice is in a tailspin. Your job is to replace this microservice with an improved one using Kotlin and Spring Boot.
You’ll review the current microservice’s architecture and create one that has the same endpoints, saves all relevant information, has a default error handler, and can communicate with other microservices to access vital information. To reduce the risk of performance problems created by incorrect endpoint-invocation, you’ll create and validate documentation according to the Open API 3 standard. Following business-driven development (BDD) practices, you’ll implement robust testing to prevent deploying your new API with any bugs.
Improve performance by leveraging cache mechanisms that reduce traffic between APIs. Using Spring Security, you’ll secure the API against attacks, and you’ll minimize dependencies that slow it down. You’ll use GraalVM to create a Docker image that decreases consumption of resources, then wrap up by packaging your new API. When you’re done, you’ll have hands-on experience creating a secure, scalable, highly performant API from scratch—and TWA’s customers will be making many return trips!
I enjoyed learning about so many different aspects that I do not get to work with in my day job. I can’t wait to apply some of the techniques.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But as TWA’s success has soared, the performance of its reservations microservice has taken a nosedive. TWA has decided to replace the reservation microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your task is to review the architecture of the existing microservice and create a new one that has the same endpoints as the old one, saves all relevant information, has a default error handler, and communicates with other microservices to access other vital information.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is on the right track, the performance of its reservation microservice is off the rails. As a solution, TWA has replaced the microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to document the API endpoints for this new microservice—following the Open API 3 standard—to reduce the risk of someone invoking the endpoints incorrectly. You’ll also create custom rules for validating the documentation in an external library, allowing for reuse in other projects across the company.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while the company’s success is moving quickly in the right direction, the performance of its reservations microservice has taken a wrong turn. As a solution, TWA has replaced this microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to reduce the risk of deploying the application with bugs—a common problem for the previous API—by implementing robust testing.
Following business-driven development (BDD) practices, you’ll create a series of unit tests that validate the code’s logic in a number of plausible scenarios. To test the behavior of the code itself without affecting or being influenced by external classes, you’ll create a series of mocks. Using several libraries, you’ll test to ensure database queries work as expected.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success has been steadily climbing, the performance of its reservation microservice has been losing altitude. As a solution, TWA has replaced the microservice with a new one. Your job is to improve performance by leveraging cache mechanisms, including the Caffeine, Varnish, and Redis libraries, that will reduce traffic between APIs.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is flying high, the performance of its reservation microservice has taken an unfortunate detour. As a solution, TWA has replaced the microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to secure the API against possible attacks. You’ll configure a Keycloak authentication server to keep track of valid users. Using Spring Security, you’ll add security mechanisms on the microservice to ensure that only valid users can access it and that those users can only access their own reservations.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is rocketing higher, the performance of its reservations microservice is crashing and burning. As a solution, the company has replaced the microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to improve the performance of the new API.
With the help of the Maven Enforcer plugin, you’ll deal with dependencies that slow the microservice. You’ll use ktlint to format the source code according to a single standard, thereby increasing efficiency. You’ll create a Docker image using GraalVM and optimize it to decrease resource consumption. When you’re finished, your API will start up quicker and be more reactive, even on high-traffic days like Black Friday and Cyber Monday!
This is a great series of courses for new/intermediate Java developers, perhaps thrown into a legacy system, who want to learn where things come from and want to understand how to improve and modernize their product.
Great work Andres, I’m looking forward to completing the liveProject and chatting with you some more.
These liveProjects are for developers who have an intermediate level of knowledge with Java/Kotlin and some tools like Maven. To begin these liveProjects, you’ll need to be familiar with the following:
TOOLSgeekle is based on a wordle clone.