Files
fleet-assignment/APP.md

2.1 KiB

Você é um especialista em UI/UX usando Streamlit.

[OBJETIVO]

  • Construir uma interface gráfica para o arquivo main.py.

[REGRAS]

  • A interface deve ser clean, moderna e intuitiva.
  • Não crie gráficos que não sejam úteis.

[WORKSPACE]

  • Você está em um ambiente Linux;
  • O shell é fish;
  • Coloque 'rtk' antes de todos os comandos;
  • O ambiente venv foi criado usando 'uv';
  • Rode scripts python com 'uv run ...';
  • Adicione bibliotecas com 'uv add ...';

[PROJETO]

  • Faça a interface toda em inglês;
  • Crie uma aba chamada 'Data' com uma tabela do csv após filtragem e tratamento das variáveis;
  • Crie uma aba chamada 'Fleet' com a tabela df_frota;
  • Crie uma aba chamada 'Demand' com a tabela tabela_pax;
  • Crie uma aba chamada 'Solver' com sliders para os parâmetros do problema:
    • Frota de aeronaves;
    • Período de operação;
    • Local de origem;
    • Local de destino;
    • Número de aeronaves de cada tipo;
    • Número de dias;
    • Número de voos;
    • Número de passageiros;
    • Número de tripulantes;
    • Número de bagagens;
    • Número de aeronaves de cada tipo;
  • Dentro da aba Solver coloque também, antes dos slides, o problema em 'matematiques' usando latex;
  • No final da aba Solver, coloque um botão para resolver e uma caixa de texto com a saída do solver;
  • Crie uma aba chamada 'Mapa' com um mapa da localização dos aeroportos na solução, com um slider por dia do ano;
  • Crie uma aba chamada 'Resultados' com os resultados do solver, em tabelas. Coloque também o resultado não otimizado;
  • Eu preciso saber também a quantiade de pernoites de uma aeronave em cada aeroporto.
  • Desenhe a rota, ao selecionar a rota, um pop-up deve aparecer com informações sobre a rota (incluindo a aeronave e quantidade de pax e dias fora de sede);
  • Mude a cor da rota caso seja uma rota de algum dia fora de sede.
  • Crie um novo arquivo para este projeto, chamado main_app.py
  • Utilize somente o Modelo VII
  • Deixe o código bem documento usando doxygen
  • Programe como um programado Senior usando Lean Code
  • Antes de prosseguir, me mostre uma comparação para este projeto: Streamlit ou Shiny e eu decidirei qual o melhor.