Primeiramente, obrigado pelo seu interesse em trabalhar conosco.
- Crie um repositório no seu GitHub sem citar nada relacionado a RevPay.
- Faça seus commits no seu repositório.
- Envie o link do seu repositório para o email: [email protected], [email protected] ou [email protected]
- Você poderá consultar o Google, Stackoverflow ou algum projeto particular na sua máquina.
- Fique à vontade para perguntar qualquer dúvida aos recrutadores.
Corpo do Email com o link do repositório do desafio
Seu Nome
Link do repositório
Você pode utilizar Vite ou Next Js.
Elaborar um formulário com as seguintes regras:
1 - Campos devem ser obrigatórios, porém apenas UM poderá ser opcional.
2 - Ao inserir um valor problemático, a validação deverá ser ativada.
3 - Campos deverão mostrar MASCARAS.
4 - Campos que possuem MASCARAS devem ser normalizados, ou seja, devem ser removidos antes de enviar para o backend.
5 - Permitir cadastro de pessoas maiores de 18 anos apenas.
Ao inserir CEP, preencher os campos ENDEREÇO, BAIRRO, e ESTADO por meio desta API.
1 - Você poderá usar qualquer alternativa CSS (Chakra UI, Radix UI, Tailwind, SASS, etc).
2 - Projeto deverá usar React 18, TypeScript, React Query, React Hook Form e Zod.
Formulários em React podem gerar uma grande dor de cabeça se o código não for organizado, visto que podem crescer rapidamente. Por isso, avaliaremos como você organizará o seu projeto.
Campo | Possui mascara? | Validação (caracteres) | Saída |
---|---|---|---|
NOME COMPLETO | Não | Mínimo 1, Máximo 100 | fullname |
CPF | Sim | Mínimo 11 | documentNumber |
DATA DE NASCIMENTO | Sim | Mínimo 9 | birthdate |
Não | Obrigatório | ||
CEP | Sim | Mínimo 8 | zipcode |
CONTATO | Sim | Mínimo 11 | phoneNumber |
NÚMERO | Não | Mínimo 1, Máximo 40 | addressNumber |
ESTADO | Não | Obrigatório, Máximo 2 | addressState |
PAÍS | Não | Obrigatório | country |
CIDADE | Não | Obrigatório | city |
BAIRRO | Não | Obrigatório | addressDistrict |
ENDEREÇO | Não | Obrigatório | addressStreet |
COMPLEMENTO (Opcional) | Não | Opcional | addressComplement |
ESCOLARIDADE | Não | Obrigatório | educationLevel |
RENDA MENSAL | Sim | Obrigatório | minimumWage |
SENHA | Não | Minimo 10 | password |
CONFIRMAR SENHA | Não | Minimo 10 | confirmPassword |
Ao clicar quem cadastrar, o resultado deverá ser mostrado por meio de um Alert.
fullname: string
documentNumber: string
birthdate: string
email: string
zipcode: string
phoneNumber: string
addressNumber: string
country: string
city: string
addressDistrict: string
addressComplement: string | null
addressStreet: string
addressState: string
educationLevel: string
minimumWage: number
password: string
Está disponível por meio deste link
Tente replicar o máximo possível.