https://github.com/iagolirapasssos/gerenciador-de-grade-de-hor-rios-escolar
Este projeto é uma aplicação web para gerenciar e gerar grades de horários escolares de forma eficiente. A interface permite a configuração de turnos, aulas, turmas, e professores, além de gerar a grade visualmente e exportá-la para PDF em formato paisagem.
https://github.com/iagolirapasssos/gerenciador-de-grade-de-hor-rios-escolar
escolar grade-escolar horarios professor
Last synced: 2 months ago
JSON representation
Este projeto é uma aplicação web para gerenciar e gerar grades de horários escolares de forma eficiente. A interface permite a configuração de turnos, aulas, turmas, e professores, além de gerar a grade visualmente e exportá-la para PDF em formato paisagem.
- Host: GitHub
- URL: https://github.com/iagolirapasssos/gerenciador-de-grade-de-hor-rios-escolar
- Owner: iagolirapasssos
- License: cc0-1.0
- Created: 2025-01-04T02:25:17.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-04T02:26:39.000Z (4 months ago)
- Last Synced: 2025-01-04T03:25:11.208Z (4 months ago)
- Topics: escolar, grade-escolar, horarios, professor
- Language: JavaScript
- Homepage: https://iagolirapasssos.github.io/Gerenciador-de-Grade-de-Hor-rios-Escolar/
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gerenciador de Grade de Horários Escolar
## Descrição
Este projeto é uma aplicação web para gerenciar e gerar grades de horários escolares de forma eficiente. A interface permite a configuração de turnos, aulas, turmas, e professores, além de gerar a grade visualmente e exportá-la para PDF em formato paisagem.## Funcionalidades
### Configuração Geral
- Configurar turnos (matutino, vespertino e noturno) com horários de início e fim.
- Definir a duração das aulas e a quantidade de recreios.
- Adicionar informações sobre as turmas (séries e classes).
- Cadastrar professores e associá-los a disciplinas.### Grade de Horários
- Gerar a grade de horários completa com base nas configurações realizadas.
- Ajustar automaticamente para a proporção 16:9 e exportar em formato PDF.
- Divisão automática em múltiplas páginas no PDF se a altura da grade exceder a de uma página A4.### Gerenciamento de Dados
- Salvar dados no cache do navegador para recuperação posterior.
- Limpar todos os dados salvos com um único clique.
- Verificar conflitos de horários entre professores e apresentar sugestões de resolução.## Tecnologias Utilizadas
- **HTML5**: Estrutura da interface.
- **CSS3**: Estilização responsiva com suporte a telas maiores e dispositivos móveis.
- **JavaScript**: Funcionalidades dinâmicas para manipulação da grade e geração de PDF.
- **Bibliotecas externas**:
- [jsPDF](https://github.com/parallax/jsPDF): Para gerar PDFs.
- [html2canvas](https://html2canvas.hertzen.com/): Para capturar a grade como imagem antes de gerar o PDF.## Instalação e Uso
### Requisitos
- Navegador atualizado com suporte a JavaScript.### Passos
1. Clone ou faça o download deste repositório:
```bash
git clone https://github.com/seu-usuario/seu-repositorio.git
```
2. Abra o arquivo `index.html` em qualquer navegador moderno.### Gerar PDF
- Configure os turnos, turmas, professores e gere a grade.
- Clique no botão **"Gerar PDF"** para exportar a grade.## Estrutura do Projeto
```
├── index.html # Arquivo principal do projeto
├── styles.css # Estilos da aplicação
├── script.js # Funcionalidades dinâmicas
└── README.md # Documentação do projeto
```## Funcionalidades em Destaque
### Responsividade
- Suporte para dispositivos móveis e tablets.
- Layout adaptado para proporção 16:9, ideal para exibição em telas maiores e PDFs.### Geração de PDF
- O conteúdo da grade é capturado e renderizado para caber completamente na largura de uma folha A4 no formato paisagem.
- Altura excedente é automaticamente dividida em múltiplas páginas.### Verificação de Conflitos
- Identifica choques de horários entre professores e apresenta sugestões para resolução.## Estilo e Design
- Interface intuitiva e moderna.
- Botões com feedback visual para melhor usabilidade.
- Estrutura de grade clara e bem organizada.## Possíveis Melhorias
- Integração com banco de dados para armazenamento permanente.
- Adicionar funcionalidade para importar/exportar configurações em formatos como JSON.
- Implementar sistema de login para múltiplos usuários.## Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.## Licença
Este projeto está licenciado sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.