Luno

Aplicação desktop (PyQt5) para criação e gestão automatizada de escalas de trabalho semanais.

Pessoal · 2024
PythonPyQt5Algoritmos
Imagem de destaque do projeto Luno

O Problema

Montar escalas de trabalho semanais para uma equipe de farmácia manualmente é um problema combinatório: é preciso respeitar disponibilidade, carga horária e regras de rodízio, o que torna o processo lento e propenso a inconsistências quando feito à mão.

A Solução

  • Aplicação desktop onde o gestor cadastra colaboradores, disponibilidade e regras de rodízio.
  • Algoritmo de geração de escala que aplica essas regras automaticamente para montar a semana.
  • Interface para ajuste manual pontual sobre a escala gerada, sem perder o que já foi validado.

Arquitetura

  • PyQt5 para a interface de cadastro e visualização da escala.
  • Módulo de geração de escala baseado em regras de disponibilidade e rodízio.

Interface

Aprendizados

Modelar "disponibilidade + regras de rodízio" como restrições explícitas, em vez de tentar prever todos os casos manualmente, foi o que tornou o gerador de escala extensível a novas regras sem reescrever a lógica principal.