Build info:
Application available for preview on Heroku, login/password is admin/admin.
It's a starter for rapid application development with Spring Boot on backend and React on frontend. This application includes the following:
- Configured Spring Security for protecting restricted resources.
- Configured
UserDetailsService
for storing user information in database. Also,UserManager
automatically creates administrator if it's not present. Admin's login is inapplication.yml
configuration file, password will be printed to console at first run. - Configured REST authentication.
- Configured CORS policy.
- UI for user's management.
- Part of dashboard with user management.
- Travis-CI pipeline for application build, frontend and backend tests. I'm going to add automated deploy to Heroku in future releases.
- Docker environment with PostgreSQL and pgAdmin (login/password for admin page is admin/admin). There is a special environment configuration for Windows because of issue with DB files storage.
- Frontend is created with
create-react-app
as ordinary, promise middleware also was implemented.
First of all, it's necessary to fork this repository (you can star it as well) and start your development in your favorite IDE. Backend
runs on 8080
port, frontend is on 3000.
To start application the following commands might be executed:
./gradlew frontend:start
./gradlew bootRun -Dspring.profiles.action=dev
Also backend can be runned using some Spring Boot Starter in your IDE, most of them support it.
Both backend and frontend have hot update - frontend because of NodeJS server, frontend because of Spring Boot Dev Tools.
There is a task for building single jar with backend and frontend.
./gradlew release
This task creates dist
directory with app.jar
file.
Application includes application-cloud.yml
and Procfile
for automated deploy to Heroku.
Necessary stage
task is also included.
Don't forget to add PostgreSQL provision.
The following improvements are planned:
- React DevTools for state monitoring
- Misc