Possuo uma SPA nova, com os componentes já separados e rotas configuradas, em uma tecnologia mais simples que o
Vue.js (não é necessário NPM, gulp, typescript, etc. Apenas vanilla javascript) e preciso renderizar nessa spa os dados de uma api em seus componentes que compreendem 5 páginas.
Haverá duas consultas únicas na abertura da SPA que irá trazer todos os dados necessários para as telas seguintes e que serão renderizados de acordo com a navegação do usuário. Estas consultas já estão prontas dentro da SPA e já retornam toda a estrutura de dados:
1- Consulta a uma api que traz um json com rates de cambio
2- consulta aos dados a serem apresentados nas páginas
em determinados momentos, o usuário pode aplicar um outro filtro, que irá executar a mesma consulta, porém com tais parametros de filtro (apenas na consulta do item 2 acima).
3- Na última tela, haverá um POST de um formulário básico de 8 campos. Que irá retornar uma entidade JSON e deverá, também, ser renderizada.
4- O usuário pode querer fazer login ou se registrar.
Para tal, apenas deverá ser feito um post com as informações que ele digitar no formulário de login já existente, e a resposta da API já irá criar e retornar o cookie de autenticação para o domínio e retornar 200 ou 401. Dependendo do status code, apresentar a mensagem adequada. Em ambos os casos, é fazer um POST e verificar o status code.
Observações:
- Os dados que são apresentados contém preços em moeda brasileira. Esses preços serão multiplicados pelas rates que foram obtidas na API do item 1 acima, de acordo com a moeda escolhida pelo usuário na própria página.
- Os textos do HTML (poucos) estão em inglês, e eles textos deverão ser colocados em um aquivo js para futuramente ser possível fazer a escolha de idioma.
- Qualquer configuração ou parametros deverão estar em um js único, em um js object global.
Diferencial:
Futuramente será necessário integrar a plataforma da braspag para realizar o pagamento apenas no javascript. Esse pagamento irá gerar um id e este id será enviado junto com o post do item 3 acima.
Um profissional com esta experiência será um diferencial, mas não é obrigatório.
Caso você possua essa experiência e está interessado no projeto, por favor, faça a proposta em dois valores: com e sem a integração de pagamento.
Havendo qualquer dúvida, estou disponível para falarmos por voz e compartilhar a tela caso necessário.
Prazo de Entrega: Não estabelecido