Nosso desafio consiste em ter uma lista de endereços. Nesse webapp deve haver a possibilidade do usuario realizar um CRUD básico (listar, criar, editare apagar) em endereços;
Persistencia dos dados não é o mais importante (ver Extras). Os endereços podem ser criados somente sob-demanda pelo usuário, por exemplo.
Quando possível componentizar o código, indetificando botões e estruturas que se repetem.
Pode-se usar o layout em figma como base para o layout.
- Rodar na web, não importa backend
- Utilizar Typescript com React
- Listar Endereços
- Criar Endereço
- Editar Endereço
- Deletar Endereço
- Responsivo
- Subir no github, gitlab, bitbucket, etc..
Extras (em ordem de relevância - menor -> maior): Objetivo é demonstrar conhecimento dos conceitos entre parênteses)
- (UI) Compor usando um framework de UI para construção do layout (Ex.: Desde Styled-components até um MUI, React Bootstrap, Semantic UI, SyncFusion).
- (UX Básico) Filtrar pelo nome do endereço.
- (Persistencia) Buscar endereços de algum arquivo fixo (Ex: um arquivo em JSON) ou ainda na localStorage;
- (Integração) Buscar endereços de alguma API pública (Ex. Consulta API Google Search por "Mac Donalds porto alegre") ou busca de CEP via ViaCEP
- (Encapsulamento) utilizar o axios ou algum outro método que demonstre o conhecimento do conceito
- (UX Médio) Paginação com limitação de 10 endereços para cada clique em "carregar mais".
- (DOM) Suporte muitos registros via paginação com Virtualização de DOM
Encaminhar projeto concluido com link de seu repositório para rh@publi.com.br com assunto: "Challenge"