Skip to content

PedroHenry-Santos/Form.MY

Repository files navigation

Form.MY

Badge GitHub release (latest by date) GitHub last commit GitHub repo size

Badge Badge Badge Badge Badge Badge Badge Badge semantic-release lint staged Commitizen friendly Badge husky

📃 Índice

⁉️ Sobre o projeto

Esse é um projeto de formulário para cadastro de clientes. Onde é utilizado o firestore do Firebase para persistência de dados, o que permite a utilização da aplicação mesmo “offline”. E quando for realizada a reconexão automaticamente os dados em memória transitória serão migrados.

Nesse projeto foi utilizado grande parte dos recursos da biblioteca React sendo esse useState, useEffect, useRef e a ContextAPI. Também, foi utilizado a biblioteca Formik integrada com o Yup, inputmask e cep-promise para ajudar a lidar com as validações e estados dos campos do formulário. As principais validações são:

  • Verificar se é um e-mail valido;
  • Adiciona validação de tamanho mínimo de dígitos e mascara de formatação no telefone, CPF/CNPJ e CEP.
  • Verificação de CPF/CNPJ é valido.
  • Busca automática de endereço por CEP.

Na parte de estilização foi utilizada a biblioteca de componentes Chakra UI, onde fornece componentes customizáveis, com acessibilidade e responsivos. Também foi utilizado animações utilizando o framer-motion. Toda a aplicação está 100% responsiva para todos os principais dispositivos. Além foi adicionado suporte PWA.

🧑‍💻 Tecnologias utilizadas

🚀 Executando a aplicação

Primeiramente clone o repositório para sua maquina ou faça o "download" em formato ZIP e descompacte. Para realizar a clonagem do repositório utilize o comando:

git clone git@github.com:PedroHenry-Santos/form.git

Após basta instalar as dependências utilizando o gerenciador de pacote de sua preferência. Conforme abaixo:

yarn install

ou

npm install

E utilizar o comando:

yarn dev

ou

npm dev

Lembrando que será necessário criar uma conta no Firebase e um projeto para disponibilizar o serviço do Firestore. Para isso basta criar um arquivo .env ou .env.local (crie as mesmas variáveis do arquivo .env.example) e coloque as credenciais do firebase.

Agora você pode acessar localhost:3000 do seu navegador. Obs.: Os dados cadastrados podem ser acessados por todos, portanto no campo de CPF/CNPJ não informe o seu documento verdadeiro, utilize um valor "fake" gerando aqui.

📫 Para contribuir

Caso queira ajudar a implementar novas funcionalidade nessa aplicação, poderá seguir o roteiro de funcionalidades a seguir. Ou também poderá propor sua própria funcionalidade.

Para isso basta seguir o roteiro em CONTRIBUTING.

✔️ Roteiro de funcionalidade da aplicação

Para um acompanhamento do que já foi ou será feito, click aqui.

🕙 Histórico de atualizações

Para saber sobre as versões deste código consulte o CHANGELOG detalhado.

🔒 Licença

MIT License ® Pedro Santos