O site possui informações importantes sobre a reciclagem e a importância da doação.
Possuindo uma tela para cadastro de doadores:
Possui uma Classe 'Pessoa' que recebe as informações preenchidas pelo doador:
class Pessoa {
constructor() {
this.nameInput = document.querySelector("#nome");
this.testeDiv = document.querySelector("#teste");
this.enviarButton = document.querySelector("#botao");
this.enviarButton.addEventListener("click", this.enviar.bind(this));
this.dataDeNascimento = document.querySelector("#data");
this.email = document.querySelector("#email");
this.tamanho = document.querySelector("#tamanho");
this.roupa = document.querySelector("#roupas");
this.endereco = [document.querySelector("#rua"), document.querySelector("#cep"), document.querySelector("#cep2"), document.querySelector("#numero")];
}
...
}Também incluí uma calculadora que permite estimar o retorno financeiro que a reciclagem pode proporcionar:
Possui uma classe 'CalculadoraValor' que recebe as informações preenchidas pelo usuário:
class CalculadoraValor {
constructor() {
this.inicializarElements();
this.inicializarEventListener();
}
inicializarElements() {
this.selecionarTipoProduto = document.getElementById("product-type");
this.entradaQuantidade = document.getElementById("quantity");
this.ValorResultado = document.getElementById("result-value");
this.botaoCalcular = document.getElementById("calcularButton");
this.taxasConversao = { // por kilo
compressor: 3.0,
motor: 3.0,
ferro: 20.0,
mel: 38.0,
misto: 35.0,
...
}
}
...
}E uma função calcularValor(), que retorna o valor já convetido em reais, de acordo com o item e quantidade selecionado.
calcularValor() {
const tipoProduto = this.selecionarTipoProduto.value;
const quantidade = parseFloat(this.entradaQuantidade.value);
const valorReceber = (this.taxasConversao[tipoProduto] || 0) * quantidade;
const valorReceberConvert = valorReceber.toLocaleString('pt-br', { style: 'currency', currency: 'BRL' });
this.ValorResultado.textContent = valorReceberConvert;
}Que recebe os dados dos voluntários cadastrados
class Voluntario {
#dataNascimento;
#cpf;
nome;
email;
cidade;
bairro;
automovel;
constructor(dataNascimento, cpf, nome, email, cidade, bairro, automovel) {
this.#dataNascimento = dataNascimento;
this.#cpf = cpf;
this.nome = nome;
this.email = email;
this.cidade = cidade;
this.bairro = bairro;
this.automovel = automovel;
}
...
}Onde um voluntário pode realizar o cadastro dos itens doados:
class Armazem {
top;
parteInferior;
sapatos;
vestidos;
brinquedos;
outros;
constructor() {
this.top = [];
this.parteInferior = [];
this.sapatos = [];
this.vestidos = [];
this.brinquedos = [];
this.outros = [];
}
...
}A função inclui no array o item e sua descrição fornecida pelo voluntário para manter uma base de registro.
adicionarItem(tipo, tamanho, qtd, descricao) {
switch (tipo) {
case "short":
case "calça":
case "bermuda":
case "saia":
case "calção":
case "legging":
this.parteInferior.push({ tipo: tipo, tamanho: tamanho, quantidade: qtd, descrição: descricao });
break;
...
}
} calcularTotaldeItens(tipoDesejado) {
let total = 0;
for (let i = 0; i < this.top.length; i++) {
const top = this.top[i];
if (top.tipo === tipoDesejado) {
total += top.quantidade;
console.log(`Quantidade de ${tipoDesejado} é de ${total}.`);
}
}
...
}Essa função retorna a quantidade de itens de acordo com o tipo especificado, como exemplificado abaixo:
doador.adicionarItem("blusa", "M", 5, "Blusa de algodão");
doador.adicionarItem("blusa", "P", 2, "Blusa de Cetim");
test('Calcular total de blusas', () => {
const totalBlusas = doador.calcularTotaldeItens("blusa");
expect(totalBlusas).toBe(7);
});resultado:
-
Diretrizes de descarte: diretrizes de descarte são baseadas em informações fornecidas por Vidramaq
-
Pontos de coleta de vidro em SP: Endereços de ponto de coleta, fornecidos por ABC Do ABC
-
Coleta Seletiva: Informações sobre os itens permitidos para reciclagem, fornecidos por I9 Consultoria
-
Quais são os benefícios da reciclagem?: Texto inspirado em Blog Pix.
-
Link da Apresentação: Slides da apresentação





