Skip to content

Lawd-UFS/SIMGrade

Repository files navigation

SIMGrade

Simulador de Grade Horária e Fluxo Curricular para o DCOMP/UFS

Licença MIT HTML5 CSS3 JavaScript


SIMGradeIntro

Sobre o Projeto

O SIMGrade é um webapp desenvolvido pela LAWD para auxiliar estudantes no planejamento acadêmico. A aplicação oferece duas ferramentas principais:

  • Simulador de Grade Horária — monte sua grade do semestre com verificação de conflitos, autocompletar de disciplinas e exportação em diversos formatos.
  • Simulador de Fluxo Curricular (SIMFluxo) — acompanhe seu progresso no curso, visualize pré-requisitos e simule migrações curriculares.

O projeto é 100% estático (HTML/CSS/JS puro), sem necessidade de build ou servidor, basta abrir o arquivo index.html no navegador.

Funcionalidades

SIMGrade (Grade Horária)

  • Adicionar disciplinas com busca por autocompletar (nome e professor)
  • Verificação automática de conflitos de horário
  • Editar e excluir disciplinas já adicionadas
  • Adicionar atividades extracurriculares (PIBIC, PIBITI, Estágio, Monitoria, etc.)
  • Exportar grade como imagem PNG
  • Compartilhar grade via QR code
  • Exportar e importar grade em arquivo JSON
  • Importar grade escaneando QR code pela câmera
  • Alternar entre modo escuro e claro
  • Persistência automática dos dados no navegador

SIMFluxo (Fluxo Curricular)

  • Visualização completa do fluxo curricular por semestre
  • Seleção entre 4 cursos: Sistemas de Informação (SI), Ciência da Computação (CC), Engenharia de Computação (EC) e Inteligência Artificial (IA)
  • Marcar status de disciplinas: Aprovado, Em Curso, Reprovado ou Limpar
  • Setas de pré-requisitos renderizadas como SVG entre disciplinas
  • Disciplinas bloqueadas visualmente quando pré-requisitos não foram cumpridos
  • Barra de progresso com contagem de horas (obrigatórias e eletivas)
  • Simulação de migração curricular (fluxo antigo vs. novo com equivalências)
  • Exportar e importar estado via QR code ou JSON
  • Ações em lote por período (aprovar todas / limpar todas)
  • Alternar entre modo escuro e claro

Tecnologias Utilizadas

Tecnologia Uso
HTML5 Estrutura das páginas
CSS3 Estilização e design responsivo
JavaScript (ES6+) Lógica interativa e manipulação do DOM
html2canvas Exportar grade como imagem
QRCode.js Gerar QR codes
jsQR Ler QR codes via câmera
lz-string Compressão de dados para QR code
Google Fonts Fonte Roboto
Font Awesome Ícones

Como Executar

  1. Clone o repositório:

    git clone https://github.com/Lawd-UFS/SIMGrade.git
  2. Acesse o diretório:

    cd SIMGrade
  3. Abra no navegador:

    • Abra index.html diretamente no navegador, ou
    • Use a extensão Live Server do VS Code para recarregamento automático

    Não há build nem servidor necessário — o projeto é 100% estático.

  4. Desenvolvimento (opcional):

    npm install        # Instala dependências de desenvolvimento
    npm run lint       # Verifica erros de estilo e código
    npm run format     # Formata todos os arquivos com Prettier

Estrutura do Projeto

SIMGrade/
├── index.html              # Página principal (Simulador de Grade)
├── fluxo.html              # Simulador de Fluxo Curricular
├── equipe.html             # Página da equipe
├── css/
│   ├── styles.css          # Estilos de index.html
│   ├── fluxo.css           # Estilos de fluxo.html
│   └── equipe.css          # Estilos de equipe.html
├── js/
│   ├── script.js           # Lógica de index.html
│   ├── fluxo.js            # Lógica de fluxo.html
│   ├── equipe.js           # Lógica de equipe.html
│   ├── scrapperPDF.js      # Scraper de PDF de ofertas (Node CLI)
│   └── data/               # Dados de currículos e pré-requisitos
├── assets/
│   ├── images/             # Logos e ícones
│   └── docs/               # JSONs e PDFs de dados do DCOMP
└── package.json

Contribuição

Contribuições são bem-vindas! Para contribuir:

  1. Abra uma Issue descrevendo o bug ou melhoria em github.com/Lawd-UFS/SIMGrade/issues
  2. Faça um fork do repositório
  3. Crie uma branch para sua feature (git checkout -b minha-feature)
  4. Faça suas alterações e execute o linter:
    npm run lint
    npm run format
  5. Abra um Pull Request para a branch main

Equipe

Gyovani Santos
Gyovani Santos

LinkedInE-mail
Gustavo Henrique
Gustavo Henrique

LinkedInE-mail
Daniel Trindade
Daniel Trindade

LinkedInE-mail
Bruno Saint Clair
Bruno Saint Clair

LinkedInE-mail
Dimitri Martins
Dimitri Martins

LinkedInE-mail

Contato

Siga a LAWD nas redes sociais:

Instagram LinkedIn GitHub

Licença

Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.

About

O projeto busca auxiliar alunos a simular suas grades de horários, auxiliando no planejamento para próximos períodos. As disciplinas podem ser adicionadas, atualizadas e excluídas, os dados são guardados localmente e é possível exportar a grade como imagem.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors