Skip to content

Commit

Permalink
Explicação Dias de Aulas
Browse files Browse the repository at this point in the history
  • Loading branch information
JoaoVitorDomingos committed Nov 10, 2024
1 parent 5521c39 commit 8fab52e
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 7 deletions.
40 changes: 33 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Veja o projeto você mesmo: https://joaovitordomingos.github.io/My-Class/
</ol>
</details>

<h4 id="banco">Simulação de um Banco de Dados</h4>
<h3 id="banco">Simulação de um Banco de Dados</h3>
<p>Neste projeto, todas as informações referentes as notas dos alunos, as quantidades de aulas, dias que teve aulas e outras coisas são guardadas em uma simulação de banco de dados.</p>
<p>Este banco de dados é um script do tipo modulo, onde nele há um objeto literal, como este tipo de objeto não é independente não importa quantas instâncias há, é perfeito para uma simulação.</p>
<p align="center"><img src="./readme-imgs/bancoDados.png" alt="Imagem do Banco de Dados" width="300px"></p>
Expand All @@ -71,20 +71,46 @@ Veja o projeto você mesmo: https://joaovitordomingos.github.io/My-Class/
<br>
<br>

<h4 id="modulo">Script tipo Módulo</h4>

<h3 id="modulo">Script tipo Módulo</h3>
<p>Foi criado um script do tipo módulo chamado <i>metodos</i> onde ficará métodos que serão utilizados em várias partes do site, por exemplo um método que gera um número aleatório.</p>
<p align="center"><img src="./readme-imgs/metodos.png" alt="Imagem do script Metodos" width="500px"></p>

<br>
<br>

<h4 id="api">Pegando os Alunos de uma API</h4>
<h3 id="api">Pegando os Alunos de uma API</h3>
<p>Os alunos e suas informações são feitos na hora que carrega a página. Utilizei a API do site <a href="https://reqres.in/">Reqres</a> para fazer os alunos.</p>
<p>Utilizando uma <strong>async function</strong> e <strong>fetch</strong>, acesso esta API e pego os alunos, porém so irei utilizar desta API o nome, sobrenome, foto e id. As outras informações dos alunos foram criadas.</p>
<p>Todas as informações dos alunos é armazenadas em um objeto do tipo padrão, que está num script separado do tipo módulo.</p>
<p align="center"><img src="" alt="Imagem do Objeto Aluno" width="400px"></p>
<p align="center"><img src="./readme-imgs/alunos_objeto.png" alt="Imagem do Objeto Aluno" width="400px"></p>
<h5>Data de Nascimento:</h5>
<p>Os alunos terão idades de 16 a 19, para isso, com o metodo <strong>Date().getFullYear()</strong>, pego o ano atual e subtraio da idade mínima e máxima, guardando os dois valores para assim gerar anos aleátorios de nascimento. Agora o mês simplesmente utilizo a função de gerar números aleátórios. E o dia é realizado a mesma coisa, mas com uma verificação antes, já que fevereiro tem apenas 29 dias e os meses abril, junho, setembro e novembro tem 30 dias.</p>
<p align="center"><img src="" alt="Imagem da Função do Nascimento" width="400px"></p>
<p>Os alunos terão idades de 16 a 19, para isso, com o metodo <strong>Date().getFullYear()</strong>, pego o ano atual e subtraio da idade mínima e máxima, guardando os dois valores para assim gerar anos aleátorios de nascimento. Agora o mês simplesmente utilizo a função de gerar números aleátórios. E para o dia, é realizado a mesma coisa, mas com uma verificação antes, já que fevereiro tem apenas 29 dias e os meses abril, junho, setembro e novembro tem 30 dias.</p>
<p align="center"><img src="./readme-imgs/nascimento_funcao.png" alt="Imagem da Função do Nascimento" width="400px"></p>
<h5>Sexo, Endereço, Nota e CPF:</h5>
<p>Para o sexo e endereço, apenas realizado uma condição, comparando o id, por exemplo o id 12 é uma menina, e seu endereço é "Rua do MasterX". Agora para o cpf, apenas gero números aleatórios de 0 a 9. As notas também são geradas aleatóriamentes, de 0 a 10.</p>
<h5>Presença:</h5>
<p>Agora a presença do aluno, é escolhido aleatóriamente o número 0 ou 1(0 - falta, 1 - presença), para definir se o aluno veio ou não, isso se repete pela quantidade total de aulas. Este dado é armazenado no array de <strong>dias_presenca</strong> do objeto aluno, onde cada posição equivale a um dia de aula, sendo a primeira posição o primeiro dia de aula.</p>
<h5>Foto:</h5>
<p>A foto do aluno é um link para uma imagem, então este link é guarda no objeto aluno e quando for mostrado se usa a propriedade <strong>background-image</strong> do CSS.</p>
<h5>Observação:</h5>
<p>Note que alguns dados são gerados aleatóriamente no momento que se carrega a página, então cada vez que recarrega a página, estes dados são perdidos e informações diferentes são geradas.</p>

<br>
<br>

<h3 id="aulas">Criando os dias que teve aulas</h3>
<p>Após a criação dos alunos, é criado os dias em que teve aulas, para isso, se obtém o dia atual do usário, e a partir deste dia para trás é criado os dias que teve aula até atingir o máximo de aulas.</p>
<p>Porém, o final de semana não é considerado dias de aulas, então foi criado uma função que checa se o dia é um domingo ou sábado, se for, é pego o dia anterior até ser um dia de semana. Dias em que teve feriado não foi considerado.</p>
<p align="center"><img src="./readme-imgs/funcao_checarDia.png" alt="Imagem da Função ChecarDia"></p>
<p>Então quando é pego o dia atual do usuário, é chamado a função para checar o dia, para que a contagem das aulas comece em um dia da semana, a partir disto é subtraido um dia e checado para que este dia seja um dia da semana, isso se repete até o dar o máximo de aulas.</p>
<p>Observe que o dia que é pego do usuário será o último dia de aula. Estes dias de aulas são guardados no array <strong>dias_aulas</strong> em formato de array, onde a primeira posição é a data no formato "dd/mm/aaaa" e a segunda posição o objeto date.</p>
<p align="center"><img src="./readme-imgs/dias_aulas.png" alt="Imagem do Array dos Dias de Aulas"></p>

<br>
<br>

<h3 id="modal_dinamico">Modal Dinâmico</h3>


<br>
<br>
Expand Down
Binary file added readme-imgs/dias_aulas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme-imgs/funcao_checarDia.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme-imgs/metodos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 8fab52e

Please sign in to comment.