Olá, parabéns pelo projeto! pretendo fazer o mesmo em breve para colocar alguns conhecimentos em prática :)
- Você achou que aprendeu bastante coisa fazendo esse projetinho ?
- Você aprendeu os conceitos primeiro e dps colocou em prática ou foi aprendendo conforme foi fazendo ?
- Oq achou de hospedar na vercel ? 3.1 A hospedagem foi free ?
Um ponto de melhoria:
- Percebi que alguns caracteres estão quebrando:
ADIVICE #146 "Today, do not use the words ‘Kind of,' ‘Sort of' or ‘Maybe.' It either is or it isn't."
opa, obrigado pela resposta, aprendi sim, eu já tinha uma base dos conceitos e fui colocando em prática, sempre hospedo meus projetos na vercel, acho que uma das melhores alternativas até agora e sim, ela é gratis, apareceu esse bug pra mim também, creio que seja erro de digitação na api.
Provavelmente é um erro de *encoding* da API.
Se vc chamar diretamente `https://api.adviceslip.com/advice/146`, vai ver que o retorno é:
```json
{"slip": { "id": 146, "advice": "Today, do not use the words \u00e2\u20ac\u02dcKind of,' \u00e2\u20ac\u02dcSort of' or \u00e2\u20ac\u02dcMaybe.' It either is or it isn't."}}
```
E `\u00e2\u20ac\u02dc` é a notação para escapes Unicode, que ao fazer o *parsing* da resposta (ao chamar `response.json()`), acaba sendo convertido para os respectivos caracteres `‘`.
Provavelmente a API está convertendo erroneamente o caractere `‘` ([LEFT SINGLE QUOTATION MARK](https://www.fileformat.info/info/unicode/char/2018/index.htm)) para outro _encoding_ (possivelmente CP-1252) em vez de UTF-8 - similar ao que acontece [aqui](https://stackoverflow.com/q/2477452) <- e como já explicado neste link, o problema está na origem (portanto, na API), que está retornando os dados incorretos.
Vc até poderia contornar fazendo o `replace`, trocando esses caracteres por aspas. Mas o ideal é que a API corrija (ou então vc pode fazer um *cache* das frases, ou ter um banco de dados próprio com uma cópia delas, mas com o valor corrigido - só tem que ver se a API permite).