Você fez correto no lado do Angular, mas há um detalhe que você desconhece em termos de aplicações web, vou explicá-lo.
Quando uma aplicação que roda no browser tenta acessar outra aplicação com um domínio ou porta diferente, seu navegador não deixará você realizar essa requisição. Se isso fosse possível, scripts poderiam roubar sua senha e enviar para algum lugar na web.
Então não dá para acessar de localhost:3000 o localhost:8080? Sim dá, mas para isso você deve habilitar CORS (Cross origin resource sharing).
Com CORS's, você diz que o servidor aceita requisições de outro domínio (você pode especificar que domínios são esses) ou de qualquer domínio.
Sendo assim, minha sugestão é dar uma estudada sobre CORS (entender bem) e depois alterar seu server (parece ser Node, certo?) para que suporte CORS.
Se quiser habilitar CORS no seu servidor com apenas duas linhas, dá uma olhada nesse POST (um tanto avançado, mas no final dele) eu dou um exemplo do módulo de CORS que deve ser usado com Express (isso se o seu server é node).
Sucesso e bom estudo meu aluno.