My 5 cents:
React Pick React if the team is more familiar with it. Following this choice, you have 2 important decisions to make: 1. What to use for state management? a. the Reach hooks with useEffect, useReducer and React.createContext - for simpler apps, I would go with that b. Redux or something else 2. Javascript, Flow.js or TypeScript - I would go with TypeScript. Seems like, whoever adopts it, stays with it long-term
Spring Boot As an embedded database, you could also use the H2 database engine. In local dev/test mode I typically use a transient instance of H2, that gets initialised with the Spring app and then gets fully destroyed when you stop Spring. H2 supports various SQL-dialects, thus you can use Postgres compatibility mode.
Docker / Docker Compose If you're doing local installations, Docker with Docker Compose could streamline that, so you won't have to install database servers.
Yup. Redux and Typescript. I've heard good things about GraphQL as well - maybe worth a look. Definitely an embedded H2 in dev (have done that only many previous projects). However Docker (+Compose) for a local installation ? Wouldn't that be a tad heavy? The ideal would be something like a .msi that any user could launch to install the whole stack locally as a service and then they'd simply access the app via a browser pointed at localhost:port/myapp or whatever...
Thanks for the feedback!
With docker you can limit the dependencies to 1 thing... Docker, and with `docker-compose`, the installation would be as simple as `docker-compose up`
I really don't have experience with `.msi`-installers
Check this article out:
https://www.callicoder.com/spring-boot-mysql-react-docker-compose-example/