Por favor, resolva os seguintes desafios usando NodeJS para o back-end e React para
front-end. Você ganha alguns pontos de bônus por usar ES6, TypeScript, Testing (Jasmine
ou Jest) ou Docker.
1. Suportes balanceados
Escreva uma função que receba uma string de colchetes como entrada e determine se a
ordem dos parênteses é válida. Um colchete é considerado qualquer um dos seguintes
caracteres: (, ), {, }, [, ou ].
Dizemos que uma sequência de colchetes é válida se as seguintes condições forem
atendidas:
● Não contém colchetes sem correspondência.
● O subconjunto de colchetes dentro dos limites de um par de colchetes correspondente é
também um par de colchetes.
Exemplos:
● (){}[] é válido
● [{()}](){} é válido
● []{() não é válido
● [{)] não é válido
2. Back-end da lista de contatos
Crie uma API REST com NodeJS que irá armazenar pessoas e seus contatos. Uma pessoa
pode ter vários contatos, como telefone, e-mail ou whatsapp. A API deve permitir criar,
atualizar, obter e excluir as pessoas e os contatos.
3. Front-end da lista de contatos
Crie um aplicativo Web que explore a API criada na segunda atribuição. É esperado o uso
de React, TypeScript, e SCSS. O design da interface do usuário depende totalmente de
você.