# Visão geral do RUFUS Race App

O **RUFUS Race App** é um aplicativo web progressivo (PWA) leve projetado para juízes de dia de corrida. Ele permite que as equipes no local capturem passagens manuais, apliquem ações de corrida, enviem alertas operacionais e coordenem com o Controle de Corrida diretamente do seu telefone — totalmente sincronizado com o **RUFUS Race Manager (RRM)**.

Cada aplicativo de corrida representa um dispositivo virtual criado em **RUFUS Cloud**, que é então atribuído a um evento e a um ou mais pontos de controle específicos no Gerenciador de Corridas.

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_cade2160fc8848219f74271bc6f878c0/imported.jpg)
_Tela de Login do Juiz_

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_f2719a41a261423b9918a73f0c81238a/imported.jpg)
_Menu do aplicativo_

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_25e73956cd34470791f074716cf78608/imported.jpg)
_Feed de Atividades ao Vivo_

## O que é o RUFUS Race App?

O Race App é uma ferramenta de juiz baseada em navegador otimizada para velocidade e confiabilidade durante as operações de corrida ao vivo. Ele funciona em dispositivos móveis e pode ser instalado como um PWA para uma experiência mais parecida com a de um aplicativo.

Cada instância é definida por:

* **ID do aplicativo** → `race-app.runonrufus.com/<AppId>`
* **Token de acesso** → formato `JUDGE-XXXXX-YYYYY`

Um ID de aplicativo equivale a um dispositivo virtual na nuvem. Esse dispositivo pode ser atribuído a pontos de controle no Race Manager, assim como qualquer outro dispositivo conectado à nuvem.

## Principais seções do aplicativo

O aplicativo da corrida é estruturado em módulos operacionais projetados para execução rápida sob a pressão do dia da corrida.

### Sincronização Manual

Permite que os juízes registrem as passagens dos participantes nos pontos de controle designados.

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_af005e01e2754cafa8cc895b0545244b/imported.jpg)
_Tela de Sincronização Manual_

Métodos de entrada:

* Teclado numérico no ecrã (entrada de alta velocidade)
* Leitura de QR Code (redução de erros)

Cada passagem envia:

* Número do peito
* Marcação temporal (hora do dispositivo)
* Fonte (manual ou QR)
* Número de aprovação
* Foto opcional com GPS (quando disponível)

### Penalidade e Bônus

Usado para aplicar ajustes de tempo ou alterações de status dos participantes.

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_7a0556225c1b46fca9a1e49797e49a92/imported.jpg)
_Tela de Penalidade e Bônus_

Ações disponíveis:

* **Penalidade** (adiciona segundos)
* **Bônus** (subtrai segundos)
* **Exclusão / Alterações de status** (DNS, DNF, DSQ, DNQ)

Todas as ações são visíveis para auditoria no Race Manager.

### Alertas de Corrida

Usado para enviar notificações operacionais ao Controle de Corrida sem afetar a classificação.

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_747c91448f714900a8511b64c4773c0e/imported.jpg)
_Tela de Alertas de Corrida_

As categorias incluem:

* Médico
* Participante
* Cronometragem
* Fluxo da Corrida
* Curso

Os modelos permitem relatórios rápidos, com uma opção "Outro" para mensagens personalizadas.

### Bate-papo da equipe

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_ead2735662eb44969d5328cc9af415f4/imported.jpg)
_Tela de Chat da Equipe_

Uma sala de bate-papo operacional compartilhada entre:

* Juízes
* Controle de Corrida

É usado para coordenação e comunicação em tempo real durante o evento.

O Chat da Equipe é separado da caixa de saída de Atividade ao Vivo e mantém seu próprio feed de mensagens.

### Atividade ao vivo (Caixa de saída)

O painel de Atividade ao Vivo mostra todas as ações de corrida geradas pelo aplicativo.

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_6181e5d5c1ec4f5baad8d604a2d1ee6e/imported.jpg)
_Feed de Atividades ao Vivo_

Inclui:

* Entradas de tempo manuais
* Ações de penalidade e bônus
* Alterações de status
* Alertas de Corrida

Cada entrada mostra o seu status:

* Pendente
* Enviando
* Enviado
* Falhou (com caminho de nova tentativa)

A linha do tempo é apenas para anexar, para fins de rastreabilidade operacional.

## Como os juízes acessam o aplicativo

Os juízes abrem o link privado do aplicativo da corrida:

`race-app.runonrufus.com/<AppId>`

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_35575d49c12c45bba0b279cbda47457e/imported.png)
_Tela de Login do Juiz_

Para iniciar sessão, é necessário:

* Token de Acesso
* Nome do juiz (para fins de identificação e auditoria)

### Modelo de Sessão

O Race App usa um modelo de juiz único ativo por token.

* Apenas um juiz pode estar ativo por vez para um determinado token.
* Se outro juiz fizer login usando o mesmo token, ele assume o controle.
* O usuário anterior é desconectado automaticamente.

Comportamento importante:

* Sair da conta não apaga o histórico.
* A Atividade ao Vivo e o Chat da Equipe permanecem disponíveis para o próximo juiz usando o mesmo token.
* Uma sessão totalmente nova é criada apenas quando o token de acesso é atualizado (rotação de token).

## Informações de Controle de Corrida Visíveis para os Juízes

O aplicativo da corrida não é apenas uma ferramenta de entrada de dados. Ele também fornece aos juízes visibilidade operacional em tempo real do Controle de Corrida.

Isso garante que os juízes sempre entendam o estado dos seus pontos de controle e corridas atribuídos.

### Atribuição e Status de Processamento do Ponto de Verificação

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_9e19a63f3afd4ec98fa3bb33cabb34fc/imported.png)
_Status dos Pontos de Verificação do Topbar_

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_2241d3486c584fb9a6607d76a447f335/imported.png)
_Status do Ponto de Verificação da Gaveta_

Na **barra superior** e no **menu da gaveta de aplicativos**, os juízes podem ver:

* O(s) posto(s) de controle onde o aplicativo da corrida está atualmente atribuído
* O status de processamento desses pontos de controle

O indicador de processamento mostra se o Controle de Corrida está processando as passagens recebidas para:

* O dispositivo
* O(s) ponto(s) de controle designado(s)

Isso dá aos juízes um feedback imediato sobre o estado operacional de sua estação.

### Status de processamento do dispositivo em temporização manual

Dentro da visualização **Cronometragem Manual**, os juízes também podem ver se o Controle de Prova está processando as passagens do seu dispositivo.

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_ae16d9be71f84ea8888f591c704f3490/imported.png)
_Status das Passagens de Processo_

Este indicador é apenas informativo.

Mesmo que o processamento esteja desativado:

* Os juízes podem continuar registrando as mortes.
* Todos os dados continuarão sendo registrados e sincronizados.
* O Controle de Corrida decide o que é processado ou aplicado.

### Corridas Atribuídas e Horário da Corrida

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_051842c9bad04d46af592003cf64453c/imported.png)
_Informações sobre as corrediças da gaveta_

No **gaveta de aplicativos**, os juízes também podem ver:

* A(s) corrida(s) atribuída(s) ao dispositivo
* O tempo oficial de cada corrida atribuída

Isso garante aos juízes:

* Saber em qual contexto racial eles estão operando
* Podem alinhar suas ações com o cronograma correto da corrida
* Tenha consciência quando várias raças estiverem ativas

### Por que isso é importante

O aplicativo Race fornece consciência operacional bidirecional:

* Os juízes enviam as ultrapassagens e as ações para o Controle de Corrida.
* A configuração do Controle de Corrida e o estado da corrida são refletidos de volta para os juízes.

Isso reduz a confusão, evita operações de temporização desalinhadas e melhora a coordenação durante eventos complexos.

## Conectividade e Comportamento de Processamento

O aplicativo exibe um indicador de Conectado/Desconectado que reflete a conectividade do navegador.

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_3ec45fc4a1414f3298537949d8f8fdbd/imported.png)
_Status online/offline da barra superior_

Se estiver offline:

* As ações são enfileiradas com segurança localmente.
* A sincronização automática ocorre quando a conectividade é restabelecida.

O aplicativo também exibe indicadores informativos que mostram se o Race Control está processando as passagens para o dispositivo ou para o(s) ponto(s) de controle atribuído(s).

Mesmo que o processamento esteja desativado, os juízes podem continuar a capturar dados. O Controle de Corrida decide o que é processado ou aplicado.

## Gerenciando o aplicativo Race no RUFUS Cloud

Os aplicativos de corrida são criados e gerenciados em:

RUFUS Cloud → Painel de Dispositivos

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_24b06de81c2c431a8aa7ec56ca107ef1/imported.png)
_Abra o painel do aplicativo Race no RUFUS Cloud_

Quando lançado, o Cloud gera:

* ID do aplicativo
* Token de acesso
* Expiração do token (TTL)
* Registro de auditoria em nível de dispositivo

O aplicativo Race aparece como um dispositivo no Race Manager e deve ser atribuído a:

* Evento
* Ponto(s) de controle

### Rotação de Tokens (Reinicialização Completa)

Atualizando o token de acesso:

* Gera um novo token
* Invalida imediatamente o antigo
* Fecha qualquer sessão ativa
* Inicia um novo ciclo de vida da sessão

Isso é usado quando:

* O acesso precisa ser redefinido
* Um token foi compartilhado incorretamente
* O acesso do juiz deve ser revogado

## Como aparece no Race Manager (Controle de Corrida)

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_a62403753ee547c48e847a1f096008a6/imported.png)
_Menu de Dispositivos no RRM_

![](https://rufus-serverless-v1-shopmediabucket-yqa11v58uwom.s3.us-east-1.amazonaws.com/knowledge/assets/knowledge_asset_12614e8907ab44e7a0bbca53bb6d3770/imported.png)
_Widget de Notificação de Corrida no RRM_

Dentro de RUFUS Race Manager:

* Os aplicativos de corrida aparecem na lista de dispositivos na nuvem.
* Eles podem ser atribuídos a um ou mais pontos de controle do evento.
* Alertas de corrida, penalidades e bônus, mudanças de status e o chat da equipe ficam visíveis no painel de Notificações de Corrida.
* Todas as ações são apenas de anexação para fins de auditoria e rastreabilidade.

Fluxo operacional:

1. Os juízes enviam os dados do aplicativo da corrida.
2. O Controle de Corrida recebe notificações no Gerenciador de Corrida.
3. Algumas ações modificam a classificação (Penalidade/Status).
4. Algumas ações são apenas informativas (Alertas de Corrida / Chat).

## Melhores Práticas Operacionais

Antes do dia da corrida:

* Inicie o aplicativo Race na nuvem.
* Defina o TTL do token para um período longo o suficiente para cobrir o tempo de configuração, de execução e de buffer.
* Atribua o dispositivo ao(s) ponto(s) de controle no Race Manager.
* Compartilhe o link e o token com os juízes.

No dia da corrida:

* Mantenha o aplicativo aberto para uma fila offline confiável.
* Use o teclado para cronometragem de alto rendimento.
* Use a leitura de QR code quando a legibilidade do número de peito for um problema.
* Use os Alertas de Corrida para incidentes.
* Use o bate-papo da equipe para coordenação.

Após o dia da corrida:

* Revise o histórico de auditoria no Race Manager.
* Gire o token se o acesso do juiz for encerrado.

## Resumo

O RUFUS Race App é uma ferramenta operacional dedicada para o dia da corrida que conecta os juízes diretamente ao Controle de Corrida. Ele combina cronometragem manual, ações de corrida, alertas e comunicação em uma única interface leve, mantendo a rastreabilidade total de auditoria dentro do RUFUS Cloud e do Race Manager.

Ele separa a administração (Nuvem) das operações (Gerenciador de Corridas), garantindo acesso controlado, rastreabilidade da sessão e execução confiável no dia da corrida.
