O que é o ISS?
O ISS é uma plataforma de estudo focada em revisão de aulas e prática de código. Inclui lista de exercícios com filtros, estatísticas de progresso (maior lacuna, funil, atividade) e sugestões de exercícios por aula. Foi pensada como apoio a disciplinas (por exemplo na INFNET), mas qualquer pessoa com acesso ao repositório ou ao site pode usá-la para estudar.
Tecnicamente, é uma LXP estática (Learning Experience Platform): um ambiente de aprendizagem que roda inteiramente no browser, sem login nem servidor — as aulas e os exercícios são carregados a partir de ficheiros estáticos. O foco está na experiência de estudo: reler aulas, marcar como lidas e praticar com exercícios que dão feedback direto no navegador.
O ISS é uma LXP estática para revisão de aulas e prática de código: tudo no browser, sem conta nem servidor.
Stack técnica
O projeto usa tecnologias simples e amplamente suportadas:
- HTML, CSS e JavaScript (Vanilla) — sem frameworks (React, Vue, etc.); o JS trata do roteamento, da leitura de Markdown e da persistência no cliente.
- Tailwind CSS — utilitários para layout e componentes, alinhados aos tokens do projeto em
css/styles.css. - Marked — renderização de Markdown (as aulas estão em ficheiros
.md). - Highlight.js — realce de sintaxe nos blocos de código (tema escuro, por exemplo github-dark).
O conteúdo (aulas e exercícios) vive em ficheiros Markdown e JSON no repositório e é carregado no cliente quando o utilizador abre uma aula ou a lista de exercícios.
Por que um site estático e sem backend? Por três razões principais: velocidade — ficheiros estáticos (HTML, CSS, JS, Markdown) podem ser servidos por um CDN e carregam rápido mesmo em conexões fracas; privacidade — nenhum dado de progresso sai do seu dispositivo; simplicidade e custo — o deploy pode ser feito em GitHub Pages, Netlify, Vercel, etc., sem base de dados nem API.
Rápido, privado, sem servidor: o ISS corre onde você está, sem enviar os seus dados para lado nenhum.
Como funciona o progresso?
O progresso — aulas marcadas como lidas e exercícios concluídos — é guardado apenas no navegador do utilizador, usando localStorage. Isto implica o seguinte:
- Os dados são seus — não são enviados a nenhum servidor.
- Não é preciso criar conta nem fazer login.
- Se limpar os dados do site ou usar outro browser ou dispositivo, o progresso não aparece nesse ambiente (não há sincronização entre dispositivos).
As chaves usadas no localStorage são específicas do ISS, para não conflitar com outros sites no mesmo domínio.
Os seus dados de progresso nunca saem do seu dispositivo.
Contribua
O projeto é aberto e aceita contribuições de alunos e professores. Se criou um exercício que ajudou na sua revisão, partilhe-o no repositório para ajudar outros.
Sugestões do que pode contribuir:
- Novos exercícios — seguindo o formato dos existentes em
content/exercises/. - Correções em aulas ou exercícios — typos, clareza, exemplos.
- Melhorias de acessibilidade ou documentação.