Boa tarde Isaac, tudo certo?
A minha sugestão é manter os dois repositórios e projetos separados, pois essa separação de responsabilidades facilita a manutenção, implementação de novas funcionalidades e isolar os eventuais bugs que vão aparecer durante o desenvolvimento.
Uma forma muito comum e funcional de desenvolver localmente as duas partes do sistema é ter cada projeto com um servidor em uma porta diferente. Por exemplo: você pode subir a aplicação do front end na porta8080
e o back end na porta 3000
, sendo assim elas poderão se comunicar e funcionar de forma independente.
Um outro padrão muito utilizado para comunicar entre as duas partes é utilizar o formato JSON
como padrão de saída do back end, pois isso torna a lida e utilização JavaScript bem simples e direta. Caso queira saber mais, recomendo fazer o Curso de JS na web: CRUD com JavaScript assíncrono.
Espero ter ajudado e bons estudos!