/sorteio

Primary LanguageTypeScript

Projeto Sorteio - Semana da Formação.DEV 🎉

Este projeto foi criado para realizar o sorteio de um prêmio especial entre os alunos que participaram do evento Semana da Formação.DEV. No entanto, o sorteio tem uma lógica invertida: o último aluno sorteado, ou seja, o "azarado mais sortudo", será o vencedor!

Objetivo

O objetivo deste projeto é realizar um sorteio diferente, onde o último participante sorteado será o grande vencedor do prêmio especial da Semana da Formação.DEV. Isso torna o sorteio emocionante, já que cada nome sorteado se aproxima mais do vencedor final.

Funcionalidades

  • Carregar a lista de alunos: O sistema carrega a lista de participantes do evento que preencheram os critérios para participar do sorteio.
  • Sorteio aleatório invertido: Participantes são sorteados um a um, até que reste o último, que será o vencedor.
  • Registro do vencedor: O nome do último aluno sorteado será destacado como o vencedor.
  • Interface interativa: Barra de progresso que mostra o andamento do sorteio até o último participante.

Como Usar

1. Clone o Repositório

git clone https://github.com/formacaodev/sorteio
cd sorteio

2. Instale as Dependências

O projeto utiliza Node.js para rodar. Certifique-se de que está instalado em sua máquina e rode o seguinte comando:

npm install

3. Forneça a Lista de Alunos

Prepare um arquivo CSV contendo o nome e o e-mail dos alunos, no seguinte formato (nome;email):

João Silva;joao@example.com
Maria Oliveira;maria@example.com

Salve o arquivo como data/dados.csv na pasta src do projeto.

4. Execute o Sorteio

Para executar o sorteio invertido e selecionar o "azarado mais sortudo", utilize o seguinte comando:

npm start

5. Veja o Resultado

Os alunos serão sorteados um a um, e o último nome sorteado será o grande vencedor do prêmio especial.

Tecnologias Utilizadas

  • Node.js: Plataforma para execução do código JavaScript no backend.
  • TypeScript: Linguagem de programação que aumenta a robustez do código.
  • terminal-kit: Biblioteca usada para criar uma interface de terminal interativa e exibir a barra de progresso.

Exemplo de Execução

npm start

Saída esperada:

Iniciando o Sorteio...

Progresso: 100%[=======================================>] done
O AZARADO MAIS SORTUDO é:
Betty Robinson <yes***@lawson.info>

🎉🎉🎉🎉🎉🎉🎉🎉🎉

Contribuição

Contribuições são bem-vindas! Se você tiver sugestões de melhorias ou encontrar problemas, abra uma issue ou envie um pull request.


Feito com diversão e emoção para todos os participantes da Semana da Formação.DEV. Boa sorte a todos! 😉