Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/efremropelato/spring-boot-react-maven
https://github.com/efremropelato/spring-boot-react-maven
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/efremropelato/spring-boot-react-maven
- Owner: efremropelato
- License: apache-2.0
- Created: 2020-06-05T04:24:09.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2023-01-24T20:23:26.000Z (almost 2 years ago)
- Last Synced: 2023-03-09T15:45:56.993Z (over 1 year ago)
- Language: Java
- Size: 525 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/efremropelato/spring-boot-react-maven)
Spring-Boot-React-Maven
-----This is a multi-module Spring Boot React Apache Maven starter app with good defaults. The react app is built using [create-react-app](https://github.com/facebookincubator/create-react-app).
This project provides productive setup for building Spring Boot React applications. The application is divided into two Maven modules:
1. `backend`: This contains Java code of the application.
2. `frontend`: This contains all react JavaScript code of the application.## Running the full application
You can build the package as a single artifact by running the `./mvnw clean install`.
Next, you can run the application by executing:```bash
$ java -jar backend/target/backend-0.1.0-SNAPSHOT.jar
```The application will be accessible at `http://localhost:8080`.
## Features
This starter comes bundled with the following features:
1. Multi module Maven project: A multi module project to modularize backend and frontend code separately.
2. Maven wrapper: So, you don't need to install Maven on your machine.
3. Checkstyle: Enforce sane coding standard guidelines.
4. ErrorProne: Find errors in your code.
5. Copy paste detection: Uses PMD CPD check to detect code duplication.
6. CORS enabled: A global configuration is added to enable CORS so that frontend can work seamlessly with backend during development.
7. REST API base path: Sets the base REST API path to `/api`. You can configure it by changing `rest.api.base.path` property.
8. Bundle Git commit information## Running the backend for development mode
There are multiple ways to run the backend. For development, you can use your favorite IDE and run the
`it.filippetti.app.Application`. As soon as your code compiles, Spring Boot DevTools will reload the code.You can also run the application using Maven.
```bash
$ cd backend
$ ../mvnw spring-boot:run
```## Running the frontend for development mode
**You will need 6.0+ and yarn to run the dev server and build the project**.
Make sure to install [yarn on your development machine](https://yarnpkg.com/en/docs/install).
To install all the required binaries for your project, you can run following command.
```
$ cd frontend
$ ../mvnw frontend:install-node-and-yarn frontend:yarn
```Once the above command finishes, you can start the frontend using the `yarn start` command.
## Hot reloading
Both the frontend and backend support hot reloading.