Não possuo muito conhecimento sobre as ferramentas utilizadas em Java, já que sou mais adaptado ao NodeJS, porém, independentemente da opção escolhida, é importante garantir que a API seja bem documentada e que siga as melhores práticas de desenvolvimento de APIs RESTful, como o uso correto dos verbos HTTP e dos códigos de status, a utilização de recursos e a padronização das respostas. Além disso, é importante garantir que todas as regras de negócios estejam em funcionamento.

Provavelmente você terá uma equipe de desenvolvimento para contribuir nesse projeto. Então, quanto ao frontend da aplicação, se vocês já possuírem uma ideia de layout, vai ser de grande ajuda. Mas, caso não, existem uma infinidade se sites que podem fornecer ideias para vocês... um exemplo é o dribbble.

Realizar a comunicação entre frontend e backend se torna tranquilo utilizando bibliotecas/frameworks como o React ou o NextJS (claro que existem outros frameworks javascript que vocês podem utilizar, como o Angular ou o Vue), mas, pela minha experiência trabalhando como frotend, aconselho utilizar o NextJS, pois trará mais desempenho, possibilidade de SSR, roteamento de forma mais simplificada na aplicação, simples maneira de autenticação e inúmeros outros motivos que poderiam ser listados, e que, certamente, torna o desenvolvimento melhor.

Boa sorte no desenvolvimento 😃