Skip to content

Latest commit

 

History

1,105 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner com os avatares do VLibras (Hosana, Ícaro e Guga)

👋 VLibras Web (Widget e Plugin)

Acessibilidade digital através da tradução para Língua Brasileira de Sinais (Libras).

Version Platform License VLibras

📌 Sumário

📝 Sobre o projeto

O VLibras Web é o ecossistema de acessibilidade digital que conecta o conteúdo da web à Língua Brasileira de Sinais (Libras). Este repositório centraliza o desenvolvimento de duas frentes principais:

  • VLibras Widget: A ferramenta integrada diretamente por desenvolvedores em portais e sites web.
  • VLibras Plugins (Extensões): A versão adaptada para navegadores (Chrome e Firefox), permitindo que o usuário surdo ative a acessibilidade em qualquer página da internet.

Ambas as soluções utilizam avatares 3D regionalizados (como Ícaro, Hosana e Guga) para interpretar e sinalizar conteúdos em português, garantindo que a comunidade surda — que utiliza a Libras como primeira língua — navegue e consuma informações online com total autonomia.

💻 Tecnologias

  • Vite - Ferramenta moderna e rápida para construção de aplicações frontend e bibliotecas;
  • Preact - Biblioteca JavaScript leve e eficiente para criação de interfaces reativas (alternativa ao React);
  • TypeScript - Superset tipado do JavaScript para maior segurança no desenvolvimento;
  • Tailwind CSS v4 - Framework CSS utilitário moderno para desenvolvimento ágil de interfaces;
  • DaisyUI - Biblioteca de componentes baseada em Tailwind CSS;
  • Zustand - Biblioteca leve para gerenciamento de estados da aplicação;
  • PostHog - Plataforma de analytics para monitoramento de uso;
  • Biome - Ferramenta rápida para formatação, linting e análise de código;
  • Husky - Ferramenta para configurar hooks do Git e garantir verificações de qualidade antes dos commits;
  • Commitlint - Linter para garantir que as mensagens de commit sigam um formato convencional;
  • release-it - Automação do processo de versionamento, incluindo geração de tags, commits e changelogs.

🚀 Iniciando

Pré-requisitos

Certifique-se de ter instalado em sua máquina:

  • Node.js (versão >=22.22.1)
  • pnpm (gerenciador de pacotes)

Instalação

  1. Faça o clone do repositório:

    git clone https://github.com/spbgovbr-vlibras/vlibras-web-browsers.git
    
    cd vlibras-web-browsers
  2. Instale as dependências:

    pnpm install
  3. Configure as variáveis de ambiente (opcional):

    cp .env.example .env

    Edite o arquivo .env para configurar o token do PostHog e outras variáveis conforme necessário.

Rodando a aplicação

Para desenvolvimento local:

pnpm dev

A aplicação estará acessível em: http://localhost:3003.

Outros modos: pnpm dev:homolog (utiliza links de dth - homologação) e pnpm dev:prod (utiliza links de produção).

📦 Build

O processo de build é dividido entre a geração dos ativos do widget e a preparação dos pacotes para publicação nas lojas.

Build para Produção

pnpm build

Este comando cria a pasta /app na raiz do projeto contendo:

  • vlibras-plugin-app.js - Biblioteca principal do widget (ES module, com code splitting)
  • vlibras-plugin.js - Script de carregamento minificado
  • index.html - Página de demonstração

Outros modos: pnpm build:dev (utiliza links de ovh) e pnpm build:homolog (utiliza links de dth - homologação).

Build para Lojas (Extensões)

  • pnpm build:extension - Gera e integra os pacotes para ambas as lojas (Chrome e Firefox).
  • pnpm build:chrome - Gera e integra o pacote para a Chrome Web Store (extensions/chrome).
  • pnpm build:firefox - Gera e integra o pacote para o Firefox Add-ons (extensions/firefox).

🏷️ Versionamento

O processo de release deve ser iniciado a partir da branch dev e é automatizado via release-it:

pnpm release

O comando:

  • Atualiza a dev local com o remoto e cria a branch release/vX.Y.Z;
  • Incrementa a versão no package.json e atualiza o CHANGELOG.md;
  • Atualiza o badge de versão no README;
  • Cria um commit local com essas alterações.

O processo não cria tag nem faz push automaticamente.

Depois, envie a branch de release para o repositório remoto e abra um MR para a master:

git push -u origin release/vX.Y.Z

Após o MR ser aceito e mergeado na master, crie a tag vX.Y.Z e a release correspondente manualmente no GitLab (Repository > Tags), usando o CHANGELOG.md como referência para a descrição da release.

🤝 Contribuidores

📄 Licença

Este projeto está licenciado sob a GNU Lesser General Public License v3.0. Consulte o arquivo LICENSE para mais detalhes.

About

No description, website, or topics provided.

Resources

Contributing

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages