- Prefácio
- Resumo do Projeto
- Metodologia
- Interface
- Objetivos de Aprendizagem e Cobertura de Testes
- Especificações Técnicas
A Cifra de César é uma das técnicas de criptografia mais antigas e conhecidas. Acredita-se que Júlio César, político romano e líder militar, utilizava este sistema a fim de proteger suas comunicações. Esta Cifra é um exemplo de criptografia por substituição, onde cada letra do alfabeto é substituída por outra letra, baseada em um deslocamento fixo de posições à frente do alfabeto. Esta é uma técnica simples de codificação muito usada no contexto educacional pois ajuda a ilustrar alguns conceitos, como criptografia simétrica, algorítimos de substituição e uso de chaves de deslocamento.
Este é um projeto desenvolvido como parte do Bootcamp Laboratoria e tem como objetivo criar uma aplicação em JavaScript que permita implementar a Cifra de César. Foi desenvolvida uma aplicação web com o nome fictício Codegram, que tem como objetivo fazer a criptografia de um texto inserido pelo usuário mediante à escolha de uma chave de deslocamento. Na página é possível codificar e descodificar os textos de forma simples e intuitiva.
O projeto foi desenvolvido utilizando uma abordagem de desenvolvimento ágil, seguindo os princípios do Scrum. As atividades foram divididas em sprints semanais, com reuniões de planejamento, revisão e retrospectiva além de colocar em prática os conceitos fundamentais de HTML, CSS e JavaScript.
A interface do Cipher consiste em uma página web com campos para inserção da mensagem, chave de deslocamento e botões para cifrar e decifrar a mensagem. O resultado é exibido em tempo real na tela.
Os objetivos de aprendizagem deste projeto incluem:
- Praticar conceitos de JavaScript, HTML e CSS.
- Aprender a manipular elementos do DOM.
- Implementar algoritmos de cifragem e decifragem.
- Realizar testes automatizados para garantir a funcionalidade correta do código.
A cobertura de testes do projeto abrange as principais funcionalidades, incluindo testes para a função de cifragem, decifragem e validação dos dados de entrada, atingindo 100% dos statements, functions e lines, e branches pré-determinados.
O projeto Cipher foi desenvolvido utilizando as seguintes tecnologias e ferramentas:
- HTML5
- CSS
- JavaScript vanilla
- Visual Studio Code
- Git (controle de versão)
- GitHub (repositório de código)
- Canva