O Codificador de Texto é uma aplicação desenvolvida como parte do Alura Challenges Oracle ONE. Este desafio foi proposto como uma oportunidade para aplicar e aprimorar habilidades em desenvolvimento web, focando na resolução de problemas e na implementação de funcionalidades específicas.
O principal objetivo do desafio era criar um aplicativo capaz de criptografar e descriptografar texto com base em um conjunto de regras predefinidas. As regras de criptografia envolviam a substituição de determinadas letras minúsculas por sequências específicas de caracteres.
Regras predefinidas:
Deve funcionar apenas com letras minúsculas
Não devem ser utilizados letras com acentos nem caracteres especiais
Deve ser possível converter uma palavra para a versão criptografada e também retornar uma palavra criptografada para a versão original.
Por exemplo:
- "gato" => "gaitober"
- "gaitober" => "gato"
As "chaves" de criptografia que utilizaremos são:
A letra "e" é convertida para "enter"
A letra "i" é convertida para "imes"
A letra "a" é convertida para "ai" A letra "o" é convertida para "ober"
A letra "u" é convertida para "ufat"
- Validação de Entrada:
- O aplicativo desconsidera letras acentuadas ou maiúsculas.
- Verifica se a palavra está ou não codificada. Se estiver codificada, o botão indicará "Descriptografar"; caso contrário, indicará "Criptografar".
- Criptografia e Descriptografia em Tempo Real: O aplicativo permite que o usuário veja o texto sendo criptografado ou descriptografado conforme digita.
- Botão de Copiar: Oferece a capacidade de copiar o texto resultante para a área de transferência.
- Botão de Limpar Campo: Permite limpar o campo de entrada rapidamente.
- Botão de Voz: Permite que o aplicativo fale o texto em voz alta, proporcionando acessibilidade.
- Modos de Tema: Os modos claro e escuro foram implementados para oferecer uma experiência visual personalizada.
Essas funcionalidades proporcionam uma experiência completa ao usuário, tornando o Codificador de Texto uma ferramenta versátil e intuitiva para criptografar e descriptografar texto de maneira eficiente e amigável.
Durante o desenvolvimento do projeto, pode-se enfrentar desafios relacionados à lógica de programação, manipulação de strings, gerenciamento de eventos do usuário e estilização da interface do usuário. Além disso, a implementação de funcionalidades extras, como modos de tema e interação por voz, proporcionou oportunidades adicionais de aprendizado e exploração de tecnologias.
O projeto do Codificador de Texto não apenas cumpre os requisitos do desafio, mas também proporciona uma experiência interativa e amigável para o usuário. Ao explorar as funcionalidades e os desafios encontrados durante o desenvolvimento, os participantes puderam aprimorar suas habilidades técnicas e criativas, contribuindo para seu crescimento profissional e pessoal no campo do desenvolvimento web.