Acesse o deploy aqui
Cifrar significa codificar. A cifra de César é um dos primeiros tipos de criptografias conhecidas na história. O imperador romano Júlio César utilizava essa cifra para enviar ordens secretas aos seus generais no campo de batalha.
A cifra de César é uma das técnicas mais simples de cifrar uma mensagem. É um tipo de cifra por substituição, em que cada letra do texto original é substituida por outra que se encontra há um número fixo de posições (deslocamento) mais a frente do mesmo alfabeto.
Por exemplo se usarmos o deslocamento (offset) de 3 posições:
- Alfabeto sem cifrar: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- Alfabeto com cifra: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
- A letra A será D
- A palavra CASA será FDVD
O objetivo deste projeto foi criar uma aplicação web que permita ao usuário cifrar e decifrar uma menssagem, a partir da escolha de uma chave de deslocamento. Ela seria entregue às escolas, que a disponibilizariam aos seus alunos, para poderem utilizar caso eles estivessem sofrendo bullying ou algum tipo de abuso em casa.
Com interface intuitiva e discreta, a aplicação não expõe sua real função a quem utilizar. Isso foi feito se pensando na possibilidade de eventuais abusadores se depararem com ela. Com isso, o aluno poderia simplesmente dizer que é um joguinho ou alguma plataforma para fazer um trabalho escolar, e assim, não sofrer consequências negativas.
Com essa aplicação web, espera-se que os alunos consigam pedir ajuda e expor o que está acontecendo com eles, e que as escolas possam tomar as devidas providências e evitar que algo pior aconteça.
O nome "It's cool" foi uma brincadeira com sua pronúncia, pois ela se assemelha à palavra "school", que significa escola.
- Levantamento de questões sociais
- Escolha do tema
- Escolha do público alvo
- Planejamento
- Criação do protótipo
- Estudo do conteúdo proposto
- Codificação
- Testagem
- Deploy - Git Pages
Linguagens utilizadas: JavaScript | HTML5 | CSS3
Programas/Plataformas utilizadas: VSCode (codificação) | Figma (protótipo) | Trello (planejamento) | Canva (imagem de fundo)
- Reconhecer espaços
- Aceitar caracteres especiais
-
Uso de HTML semântico
-
Uso de seletores de CSS
-
Modelo de caixa (box model): borda, margem, preenchimento
-
Uso de seletores de DOM
-
Manipulação de eventos de DOM (listeners, propagação, delegação)
-
Manipulação dinâmica de DOM
-
Tipos de dados primitivos
-
Strings (cadeias de caracteres)
-
Variáveis (declaração, atribuição, escopo)
-
Uso de condicionais (if-else, switch, operador ternário, lógica booleana)
-
Uso de laços (while, for, for..of)
-
Funções (params, args, return)
-
Testes unitários (unit tests)
-
Módulos de ECMAScript (ES modules)
-
Uso de linter (ESLINT)
-
Uso de identificadores descritivos (Nomenclatura e Semântica)
-
Git: Instalação e configuração
-
Git: Controle de versão com git (init, clone, add, commit, status, push, pull, remote)
-
GitHub: Criação de contas e repositórios, configuração de chave SSH
-
GitHub: Implantação com GitHub Pages
- Desenhar e desenvolver um produto ou serviço colocando as usuárias no centro
-
Criar protótipos para obter feedback e iterar
-
Aplicar os princípios de desenho visual (contraste, alinhamento, hierarquia)