This repository contains the source code of the practical use case described in the book Learn Microservices with Spring Boot (2nd Edition).
The book follows a pragmatic approach to building a Microservice Architecture. You start with a small monolith and examine the pros and cons that come with a move to microservices.
In Chapter 4, you build a basic Web application using React. This frontend connects to the REST API you developed in chapter 3. The backend application with the required CORS configuration addition is also included in this repository.
The main concepts covered in this chapter are:
- Building a React application with TypeScript, explained for Java developers.
- Working with CORS configuration in Spring Boot.
- Connecting the frontend to the REST API.
- Embedding the React application within the Spring Boot JAR file (Tomcat).
Check the Book's Web Page to see the complete list of chapters.
Requirements:
- JDK 14+
- Node.js v13.10+
- npm 6.13.7+
- To start the Spring Boot application, you can use the command line with the included Maven wrapper:
multiplication$ ./mvnw spring-boot:run
- The React application can be started with npm. First, you need to download the dependencies with:
challenges-frontend$ npm install
- Then, you start the server with:
challenges-frontend$ npm start
Once the backend and the fronted are started, you can navigate to http://localhost:3000
in your browser and start resolving multiplication challenges. Our MVP is finished!!
- Do you have questions about how to make this application work?
- Did you get the book and have questions about any concept explained within this chapter?
- Have you found issues using updated dependencies?
Don't hesitate to create an issue in this repository and post your question/problem there.
Are you interested in building a microservice architecture from scratch? You'll face all the challenges of designing and implementing a distributed system one by one, and will be able to evaluate if it's the best choice for your project.
Visit https://tpd.io/book-extra for all the details about the book.
You can buy the book online from these stores:
- Chapter 3. A professional 3-tier 3-layer Spring Boot app
- Chapter 4. Building a basic frontend in React (backender-friendly) (this repo)
- Chapter 5. The Data Layer Concepts and Spring Data JPA
- Chapter 6. Starting with Microservices - Synchronous
- Chapter 7. Event-Driven Architectures - Making our system asynchronous
- Chapter 8 (I). The Gateway Pattern in Microservice Architectures (Spring Cloud Gateway)
- Chapter 8 (II). Service Discovery and Load Balancing for Spring Boot Microservices (Consul / Spring Cloud Load Balancer)
- Chapter 8 (III). Centralized Configuration with Consul KV
- Chapter 8 (IV). Centralized Logs, Distributed Tracing, and Containerization with Docker (Buildpacks) and Docker Compose
Extra chapters: