Skip to content

DoriansFer/Projeto-Final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Final - Descarte consciente

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;
    }


As Classes:

Voluntário

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;
    }
    ...
}

Armazem

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 = [];
    }
    ...
}

As funções:

AdicionarItens()

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)

 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:



Tecnologias Utilizadas

Referências e Links

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors