Desafio do Frontend Mentor
Mudar para Inglês 🇺🇸
Visualizar o Aplicativo
Relatar Problema
Sugerir Funcionalidade
- Introdução
- Principais funcionalidades
- Meu papel no projeto
- Propósito e Objetivo
- Destaque
- Capturas de tela
- Como Rodar o Projeto Localmente
- Meu processo
- Aprendizados
- Tecnologias usadas
- Autor
- Agradecimentos
Este projeto é uma aplicação de cálculo de gorjetas que permite aos usuários calcular facilmente o valor da gorjeta e o custo total da conta por pessoa. O design e o desafio foram propostos pelo Frontend Mentor, com o objetivo de criar uma interface responsiva que se adapta a diferentes tamanhos de tela.
- Cálculo automático de gorjetas baseado em porcentagens pré-definidas ou personalizadas.
- Entrada de dados em tempo real, com feedback visual instantâneo.
- Validação de entradas para garantir dados válidos.
- Design responsivo e acessível.
Neste projeto, eu fui responsável por toda a implementação, desde o desenvolvimento do front-end até a lógica de cálculo em JavaScript.
O propósito deste projeto é proporcionar uma ferramenta prática para ajudar os usuários a calcular gorjetas de forma rápida e eficiente. A aplicação visa simplificar o processo de divisão de contas em situações de grupos, como em jantares ou refeições em conjunto.
O recurso principal deste projeto é a capacidade de calcular automaticamente a gorjeta e o custo total da conta com base nas entradas do usuário. A lógica de cálculo é implementada em JavaScript, garantindo resultados precisos e atualizações em tempo real à medida que o usuário interage com os campos de entrada.
Para rodar este projeto localmente em sua máquina, siga os passos abaixo:
- Clone o Repositório:
git clone https://github.com/alberto-rj/tip-calculator/
- Navegue até o Diretório do Projeto:
cd tip-calculator
-
Abra o arquivo
index.html
em seu navegador: Você pode abrir o arquivo diretamente no navegador ou usar um servidor local como o Live Server se estiver usando o Visual Studio Code. -
Interaja com o aplicativo: O aplicativo está pronto para uso! Basta inserir os valores desejados nos campos e calcular as gorjetas.
Para desenvolver esta aplicação, segui um processo estruturado.
Compreendi as exigências do desafio e elaborei um esboço inicial da interface.
O projeto foi estruturado usando HTML, CSS e JavaScript, com ênfase em boas práticas de acessibilidade e usabilidade.
- Problema: O aplicativo deve permanecer acessível durante a validação das entradas dos usuários.
- Solução:
- Implementação de validações acessíveis.
- Mensagens de erro claras e informativas.
- Testes realizados em diferentes dispositivos para garantir uma experiência inclusiva.
- Problema: Necessidade de implementar estados de hover e foco para todos os elementos interativos na página.
- Solução:
- Utilização das pseudoclasses CSS
:hover
e:focus-visible
. - Garantia de feedback visual consistente em botões e campos.
- Melhoria da usabilidade e acessibilidade da aplicação.
- Utilização das pseudoclasses CSS
- Problema: O layout deve ser otimizado para diferentes tamanhos de tela.
- Solução:
- Implementação de media queries para ajustar o layout.
- Uso de unidades relativas (como
%
, erem
) para garantir escalabilidade. - Aplicação de Flexbox e CSS Grid para criar um layout flexível e adaptável.
- Testes realizados em vários dispositivos para garantir uma visualização adequada.
- Problema: O aplicativo deve calcular corretamente a gorjeta e o custo total por pessoa.
- Solução:
- Implementação de funções de cálculo precisas em JavaScript.
- Garantia de que os resultados são exibidos de forma clara e compreensível.
-
Acessibilidade:
- Aprendi a implementar validações e mensagens de erro acessíveis, garantindo que todos os usuários consigam interagir com a aplicação, independentemente de suas habilidades.
-
Feedback Visual:
- Compreendi a importância de estados de hover e foco para melhorar a usabilidade e a acessibilidade, proporcionando uma melhor experiência ao usuário.
-
Design Responsivo:
- Desenvolvi habilidades em CSS, utilizando unidades relativas, flexbox e CSS Grid para garantir que o layout se adapte a diferentes tamanhos de tela.
-
Testes:
- Valorizei a importância de testar a aplicação em diferentes dispositivos e contextos para identificar e corrigir problemas de usabilidade.
-
Aprimoramento Contínuo:
- Aprendi que sempre há espaço para melhorias e que cada desafio enfrentado é uma oportunidade de aprendizado.
- GitHub - @alberto-rj
- Frontend Mentor - @alberto-rj
- Twitter - @albertorauljose
Desafio fornecido pelo Frontend Mentor.