Aplicação desktop para geração e gestão de escalas de trabalho, desenvolvida em Python com interface gráfica em Tkinter e persistência em SQLite. Focada em organização operacional, simplicidade de uso e exportação estruturada de dados.
Fornecer uma solução prática e eficiente para geração de escalas semanais e mensais, reduzindo esforço manual e garantindo consistência na distribuição de turnos.
Benefícios principais:
- Automatização da geração de escalas com base em regras determinísticas
- Organização clara de colaboradores e turnos
- Exportação estruturada para Excel
- Interface direta e de baixo atrito (desktop)
- Cadastro com nome, cargo, turno (Manhã/Tarde), dias de folga e status (Ativo/Inativo)
- Edição e exclusão de registros
- Geração semanal ou mensal
- Baseada em data inicial (DD/MM/AAAA)
- Aplicação automática de dias de folga
- Filtro por turno
- Agrupamento por dia
- Distribuição baseada em regras determinísticas (sem aleatoriedade)
- Exibição em tabela (TreeView)
- Destaque visual por turno
- Organização opcional por dia
- Exportação para Excel (
.xlsx) - Importação de dados de versão anterior (v1)
- Normalização automática de dados legados
Separação clara de responsabilidades:
- UI (Tkinter) → interface gráfica e interação do usuário
- Services → regras de negócio (escala, exportação, importação)
- Models → representação de entidades
- Database → persistência SQLite
Lógica de geração de escala:
A geração segue regras determinísticas, garantindo previsibilidade e consistência:
- Considera:
- Dias de folga configurados
- Turno do colaborador
- Período selecionado (semanal ou mensal)
- Não utiliza aleatoriedade
- Garante repetibilidade para os mesmos inputs
workshift-manager/
├── app/
│ ├── main.py
│ ├── ui.py
│ ├── models.py
│ ├── services.py
│ └── database.py
├── data/
│ └── database.db
├── assets/
├── README.md
└── requirements.txt- Armazenamento local via SQLite (sem exposição externa)
- Ausência de integração com APIs externas
- Baixa superfície de ataque (aplicação desktop)
- Validação básica de dados de entrada
- Python 3.x
- Tkinter (interface gráfica)
- SQLite (
sqlite3) - Pandas
- OpenPyXL
- Python 3.x instalado
cd workshift-manager
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txtpython -m app.mainChecklist funcional:
- Cadastrar colaboradores com diferentes turnos
- Gerar escala semanal
- Gerar escala mensal
- Aplicar filtro por turno
- Exportar escala para Excel
- Importar dados de versão anterior
- Tela de cadastro de colaboradores
- Geração de escala semanal
Natan Da Luz
Desenvolvedor de Software
Contato: natandaluz01@gmail.com

