O projeto é uma aplicação simples que implementa a Clean Architecture em TypeScript. A aplicação consiste em um sistema que seleciona aleatoriamente participantes de um sorteio a partir de uma lista carregada de um arquivo CSV. O objetivo é desse projeto é colocar em prática a Clean Architecture e entender como ela pode ser aplicada em um projeto de software para facilitar a manutenção e a escalabilidade.
- Leitura de Participantes: Os participantes são lidos de um arquivo CSV utilizando o repositório CsvParticipantRepository.
- Adição de Participantes ao Sorteio: A classe AddParticipantToGiveway adiciona todos os participantes ao sorteio.
- Sorteio de Vencedores: A classe DrawWinnersFromGiveaway permite a seleção aleatória de vencedores a partir dos participantes cadastrados.
- Node.js
- TypeScript
- Clean Architecture
Clone o repositório:
git clone https://github.com/ViniciusQuintas/giveway
cd giveway
Instale as dependências:
npm install
Crie um arquivo participants.csv no diretório raiz com a seguinte estrutura:
name,email
Nome1,email1@example.com
Nome2,email2@example.com
Execute a aplicação:
npm start
Os participantes sorteados serão armazenados no arquivo winners.txt, que será gerado após a execução do projeto.