Skip to content

Repository files navigation

Haumea Tracker

Registre cafeína e álcool, acompanhe a carga estimada no organismo e entenda seus padrões ao longo do tempo em um painel privado e responsivo.

O Haumea Tracker reúne registros, temporizadores, gráficos semanais, histórico e comparação entre usuários autenticados. Os dados ficam no Firebase e cada pessoa acessa a aplicação por uma conta própria.

Aviso: as estimativas de metabolização são aproximações matemáticas e não substituem orientação médica, exames ou decisões de segurança. Nunca use o aplicativo para decidir se é seguro dirigir, operar máquinas ou consumir mais de uma substância.

O que você pode acompanhar

  • Registros de consumo: crie, edite, repita ou exclua entradas de cafeína, álcool e outros itens.
  • Resumo do dia: veja os totais de cafeína em miligramas e álcool em gramas.
  • Carga ativa estimada: acompanhe a quantidade calculada com atualização periódica.
  • Médias e histórico: consulte totais acumulados, média diária e atividades agrupadas por data.
  • Visão semanal: identifique variações de consumo em gráficos.
  • Temporizadores: crie contagens associadas à sua rotina.
  • Scoreboard: consulte usuários cadastrados, estatísticas e atividade recente.
  • Perfil autenticado: entre com o Firebase Authentication e mantenha os registros no Cloud Firestore.

Como o cálculo funciona

O código usa modelos simples e fixos:

  • cafeína: meia-vida de 5 horas, com decaimento exponencial;
  • álcool: eliminação linear de 7 gramas por hora;
  • valores residuais inferiores a 0,01 são desconsiderados.

Esses parâmetros não representam diferenças individuais de peso, sexo, alimentação, metabolismo, medicamentos ou condições de saúde.

Tecnologias

  • React 19 e TypeScript
  • Vite 7
  • Tailwind CSS 4
  • React Router
  • Recharts
  • Firebase Authentication, Cloud Firestore e Firebase Hosting

Pré-requisitos

  • Node.js compatível com Vite 7 (use uma versão LTS atual)
  • npm
  • um projeto Firebase com Authentication e Firestore habilitados
  • Firebase CLI autenticado para publicar a aplicação

Instalação

git clone https://github.com/riique/Haumea-Tracker.git
cd Haumea-Tracker
npm install

Copie o arquivo de exemplo:

cp .env.example .env

No PowerShell:

Copy-Item .env.example .env

Preencha .env com a configuração do aplicativo Web criada no Firebase:

VITE_FIREBASE_API_KEY=...
VITE_FIREBASE_AUTH_DOMAIN=...
VITE_FIREBASE_PROJECT_ID=...
VITE_FIREBASE_STORAGE_BUCKET=...
VITE_FIREBASE_MESSAGING_SENDER_ID=...
VITE_FIREBASE_APP_ID=...

Não envie o arquivo .env ao repositório.

Executar localmente

npm run dev

Abra o endereço informado pelo Vite no terminal.

Comandos disponíveis

Comando Finalidade
npm run dev inicia o servidor de desenvolvimento
npm run build valida o TypeScript e gera a versão de produção
npm run lint executa o ESLint
npm run preview serve localmente o build gerado
npm run deploy compila e publica a configuração Firebase do projeto
npm run deploy:rules publica somente as regras do Firestore

Publicação

O firebase.json usa dist como diretório público, configura redirecionamento de SPA para index.html e inclui as regras e os índices do Firestore.

npm run deploy

Antes de publicar em outro projeto Firebase, revise o alvo configurado no CLI e as regras em firestore.rules.

Estrutura

src/
├── components/   componentes de formulário, gráficos, layout e temporizadores
├── contexts/     sessão e estado de autenticação
├── lib/          inicialização do Firebase
├── pages/        painel, histórico, login e scoreboard
├── services/     leitura e gravação no Firestore
├── types/        tipos compartilhados
└── utils/        estimativas de metabolização

Estado e limitações

  • O projeto não inclui diagnóstico, recomendação de dose ou validação clínica.
  • O scoreboard consulta dados de outros perfis; revise as regras do Firestore para adequá-lo à política de privacidade da sua instalação.
  • A interface depende da estrutura atual do Firebase e das permissões configuradas no projeto.
  • Não há suíte automatizada de testes no repositório; use npm run build e npm run lint antes de publicar.

Contribuição

Abra uma issue para propor mudanças ou envie um pull request com escopo claro. Antes de enviar:

npm run lint
npm run build

Não inclua credenciais, dados pessoais ou arquivos .env nos commits.

Licença

Distribuído sob a licença MIT. Consulte LICENSE.