A idéia deste desafio é nos permitir avaliar melhor as habilidades de candidatos à vagas de programador, de vários níveis.
Este desafio deve ser feito por você em sua casa. Gaste o tempo que você quiser, porém normalmente você não deve precisar de mais do que algumas horas.
- Primeiro, faça um fork deste projeto para sua conta no Github (crie uma se você não possuir).
- Em seguida, implemente o projeto tal qual descrito abaixo, em seu próprio fork.
- Crie as instruções de instalação e execução do aplicativo em seu readme.md
- Por fim, envie o link do seu repositorio para avaliarmos seu código
Você recebeu um arquivo de texto com os dados de vendas da empresa.
Sua tarefa é criar um aplicativo windows que carregue o arquivo informado, normalize os dados e armazene-os no banco de dados e permita sua visualização. Você deve enviar o instalador desse aplicativo para que ele seja instalado na maquina do avaliador para poder ser executado e avaliado. Você precisa enviar todas as instruções para que o avaliador consiga rodar o aplicativo.
Sua aplicação Windows DEVE:
- Aceitar (via um formulário) o upload de arquivos text, com dados separados por TAB testar o aplicativo usando o arquivo fornecido. A primeira linha do arquivo tem o nome das colunas. Você pode assumir que as colunas estarão sempre nesta ordem, e que sempre haverá uma linha de cabeçalho. Um arquivo de exemplo chamado 'dados.txt' está incluído neste repositório.
- Interpretar ("parsear") o arquivo recebido, normalizar os dados, e salvar corretamente a informação em um banco de dados relacional.
- Exibir todos os registros importados, bem como a receita bruta total dos registros contidos no arquivo enviado após o upload + parser.
- Deve escrita obrigatoriamente em: VB# com SQL Server (pode ser express ou LocalDB)
- Ser simples de instalar e rodar a partir das instruções fornecidas,
- Ter um testes automatizados para a funcionalidade pedida
- Ter uma boa aparecia e ser fácil de usar
Seu projeto será avaliado de acordo com os seguintes critérios.
- Sua aplicação atende funcionalmente o que foi pedido
- Você documentou a maneira de configurar o ambiente e rodar sua aplicação na maquina do avaliador
- Você seguiu as instruções enviadas
- Voce segue as boas práticas de programação e entrega para o Cliente
- O código escrito é facil de entender e manter
- Você se preocupa com o uso do aplicativo pelo Usuário
Adicionalmente, tentaremos verificar a sua familiarização com as bibliotecas padrões (standard libs), bem como sua experiência com programação orientada a objetos a partir da estrutura de seu projeto, preucupação com o objetivo da aplicação e do seu uso pelo usuário, suporte e manutenção do código por outros desenvolvdores
Este desafio foi baseado neste outro desafio: https://github.com/lschallenges/data-engineering