Skip to content

Elixir challenge done with 'Rocketseat' Ignite course. ("Desafio 04 - Gerando relatórios com paralelismo & Reservas de voo & Relatório de reservas de voos & Testando a aplicação")

Notifications You must be signed in to change notification settings

Rafa-KozAnd/Ignite_Elixir_Challenge_04

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub language count GitHub language count GitHub repo file count GitHub repo size GitHub language count

Ignite_Elixir_Challenge_04

Elixir challenge done with 'Rocketseat' Ignite course. ("Desafio 04 - Gerando relatórios com paralelismo & Reservas de voo & Relatório de reservas de voos & Testando a aplicação")

Desafio - Gerando relatórios com paralelismo

💻 Sobre o desafio

Nesse desafio, você deverá gerar o mesmo relatório com os mesmos dados do desafio anterior mas dessa vez os dados estão fracionados em três arquivos com 10 mil linhas cada e o relatório deve ser gerado usando esses três arquivos em paralelo.

Observe que o resultado final do cálculo de horas de cada pessoa para ano, mês e total de horas deve ser o mesmo do desafio anterior, já que os dados continuam iguais.

Desafio - Reservas de voos

💻 Sobre o desafio

Nesse desafio, você deverá criar uma aplicação de reserva de voos, onde haverá o cadastro de usuários e o cadastro de reservas para um usuário.

A struct do usuário deverá possuir os seguintes campos:

%User{ id: id, name: name, email: email, cpf: cpf }

Obs: O Id deve ser gerado automaticamente, pode ser um inteiro ou um UUID, mas não pode se repetir.

A struct da reserva deverá possuir os seguintes campos:

%Booking{ id: id, complete_date: complete_date, local_origin: local_origin, local_destination: local_destination, user_id: user_id }

O campo data_completa deverá ser uma NaiveDateTime, que é um formato de data sem fuso horário e com funções auxiliares.

Desafio - Relatório de reservas de voos

💻 Sobre o desafio

Nesse desafio, você deverá incrementar a sua solução do desafio anterior. Agora deverá ser possível também gerar relatórios das reservas de voos de acordo com o intervalo de tempo especificado na chamada da função.

Dito isso, é esperado que a função receba dois parâmetros: data inicial e data final. Todas as reservas que estiverem agendadas para esse intervalo de tempo, deve entrar no arquivo CSV do relatório.

Desafio - Testando a aplicação

💻 Sobre o desafio

Nesse desafio, você deverá criar outros testes com o objetivo de completar 100% na cobertura excoveralls. Para isso, utilize a lib do excoveralls, adicione a dependência dele no seu mix.exs e essas configurações.

def project do [ app: :excoveralls, version: "1.0.0", elixir: "~> 1.0.0", deps: deps(), test_coverage: [tool: ExCoveralls], preferred_cli_env: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test ] # if you want to use espec, # test_coverage: [tool: ExCoveralls, test_task: "espec"] ] end

defp deps do [ {:excoveralls, "~> 0.10", only: :test}, ] end

About

Elixir challenge done with 'Rocketseat' Ignite course. ("Desafio 04 - Gerando relatórios com paralelismo & Reservas de voo & Relatório de reservas de voos & Testando a aplicação")

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages