SpringBoot Web + JWT + React.js + Bootstrap + Postgres + Google Charts
https://gitorko.github.io/spring-boot-reactjs/
Check version
$java --version
openjdk 17.0.3 2022-04-19 LTS
node --version
v16.16.0
yarn --version
1.22.18
docker run -p 5432:5432 --name pg-container -e POSTGRES_PASSWORD=password -d postgres:9.6.10
docker ps
docker exec -it pg-container psql -U postgres -W postgres
CREATE USER test WITH PASSWORD 'test@123';
CREATE DATABASE "test-db" WITH OWNER "test" ENCODING UTF8 TEMPLATE template0;
grant all PRIVILEGES ON DATABASE "test-db" to test;
docker stop pg-container
docker start pg-container
To run the backend in dev mode.
./gradlew clean build
./gradlew bootRun
To Run UI in dev mode
cd ui
yarn install
yarn build
yarn start
To run as a single jar, both UI and backend are bundled to single uber jar.
./gradlew cleanBuild
cd build/libs
java -jar project89-1.0.0.jar
user: admin
pwd: admin@123
user: user
pwd: user@123
./gradlew cleanBuild
docker build -f docker/Dockerfile --force-rm -t project89:1.0.0 .
docker images |grep project89
docker tag project89:1.0.0 gitorko/project89:1.0.0
docker push gitorko/project89:1.0.0
docker-compose -f docker/docker-compose.yml up
Commands to create new ui project if needed
yarn create react-app ui --template typescript
yarn add jsonwebtoken types/jsonwebtoken
yarn add react-router-dom
yarn add react-bootstrap bootstrap
yarn add react-chartjs-2 chart.js
yarn add react-bootstrap-icons
yarn add prop-types
proxy is added to package.json to allow the requests to be redirected to the backend
"proxy": "http://localhost:8080/"