Opentrons Labworks Inc
Software for writing protocols and running them on the Opentrons Flex and Opentrons OT-2
Copiloto inteligente para glicemia, alimentação, exercício e medicação.
Translation pending
HealthTypeScript · PLpgSQLGitHub @RivasCode-OpsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
GLYX — Sistema Inteligente de Controle Metabólico e Diabetes App web (Next.js 15 App Router) para controle diário de diabetes e metas corporais: glicemia (manual e sincronização automática via CGM), refeições por foto com IA, medicação com alarmes, exercício, exames, água, peso e um copiloto de IA metabólica — com backend em Supabase (Postgres + Auth + RLS + Storage + cron). Raiz única do repositório: D:\PROJETOS\04_LABS\GLYX-Sistema-Inteligente-de-Controle-Metab-lico-e-Diabetes Planejamento: ROADMAP.md · DPIA (LGPD): docs/DPIA.md · Produção: docs/PRODUCAO.md (npm run check:prod)Read the full README ↗
App web (Next.js 15 App Router) para controle diário de diabetes e metas corporais: glicemia (manual e sincronização automática via CGM), refeições por foto com IA, medicação com alarmes, exercício, exames, água, peso e um copiloto de IA metabólica — com backend em Supabase (Postgres + Auth + RLS + Storage + cron).
Raiz única do repositório:
D:\PROJETOS\04_LABS\GLYX-Sistema-Inteligente-de-Controle-Metab-lico-e-Diabetes
Planejamento: ROADMAP.md · DPIA (LGPD): docs/DPIA.md · Produção: docs/PRODUCAO.md (npm run check:prod)
pg_cron/pg_net
para os despachantes agendados.KIMI_API_KEY) — chat, visão (foto de
refeição/exame/rótulo/bancada) e geração de sugestões. Anthropic e OpenAI ficam
disponíveis, mas só entram por AI_PROVIDER explícito: adicionar uma chave ao
ambiente não troca o modelo que analisa dado clínico.lib/safety/), com base curada em migration. Nenhum LLM emite veredito de
segurança — o modelo só redige o que o motor já decidiu, e ausência de alerta nunca é
apresentada como "seguro".public/sw.js).cgm_connections.@sentry/nextjs) + alertas de falha em cron CGM/push/meal-suggest
(e webhook opcional OPS_ALERT_WEBHOOK_URL).profiles.timezone.pg_cron para remédio/suplemento na hora certa
(com opção de adiar/"soneca"), aviso de estoque baixo, dica diária de nutrição, lembrete de água a
cada ~2h, e sugestão de refeição por IA quando o horário passa sem registro.SIGNUP_INVITE_CODE +
SUPABASE_SERVICE_ROLE_KEY em /api/auth/register), fluxo de esqueci/redefinir senha./admin: estatísticas de uso e "relógio de gastos" de IA (por dia/mês, com metas
configuráveis), restrito por profiles.is_admin..env.example para .env.local e preencha (veja comentários no próprio arquivo — Supabase,
IA, VAPID, CRON_SECRET, SIGNUP_INVITE_CODE).supabase db push com o CLI), execute todos os arquivos de
supabase/migrations/ em ordem cronológica pelo nome. São incrementais — pular algum deixa
tabelas/colunas/funções ausentes. Inclui o circuit breaker do CGM
(*_cgm_circuit_breaker.sql).npx web-push generate-vapid-keys.CRON_SECRET aleatório próprio e configure o mesmo valor nas funções SQL de cron
(procure x-cron-secret e p_secret em supabase/migrations/*.sql) — nunca reutilize um valor
que já apareceu em um commit público.npm install
npm run verify # lint + build + testes unitários
npm run dev
Abra http://localhost:3000.
npm run test # Vitest — normalizadores, agregações, rate limit, parser de refeição, RLS/LGPD
npm run test:watch
npm run test:e2e # Playwright — smoke + portões de auth; sobe `npm run dev` automaticamente
E2E clínico autenticado (e2e/clinical-path.spec.ts): defina E2E_USER_EMAIL e
E2E_USER_PASSWORD (conta real do projeto Supabase). Sem isso, o spec é ignorado — o CI ainda
valida redirects, 401 de export/cron e convite inválido.
Cobertura RLS negativa (estática): lib/privacy/rls-coverage.test.ts exige que cada tabela clínica
nas migrations tenha ENABLE ROW LEVEL SECURITY + policy com auth.uid(), e que o inventário
LGPD de wipe/export acompanhe o schema.
As funções SQL de despacho (dispatch_*, evaluate_meal_glucose_spikes) não têm cobertura de teste
automatizado no Postgres — a lógica de janela de horário/fuso que pode ser expressa em TypeScript
está isolada em lib/time/local-day.ts e coberta por lib/time/local-day.test.ts.
GitHub Actions roda npm install, npm run verify (lint + build + Vitest), instala Chromium do
Playwright e corre npm run test:e2e, com variáveis públicas de exemplo para o build.
.env.example no ambiente de produção;
CRON_SECRET precisa ser o mesmo valor das funções SQL. Nunca exponha a service role key no
cliente.https://…/auth/callback e http://localhost:3000/auth/callback para desenvolvimento./api/auth/register) após validar o convite, então o signup público
anônimo fica bloqueado na API Auth; ative "Leaked password protection".SIGNUP_INVITE_CODE, SUPABASE_SERVICE_ROLE_KEY e, para CGM, CGM_CREDENTIALS_SECRET
(diferente do CRON_SECRET) no ambiente de produção.SENTRY_DSN e NEXT_PUBLIC_SENTRY_DSN (mesmo valor) para capturar erros
de UI e falhas de sync/push; opcionalmente OPS_ALERT_WEBHOOK_URL para ping em Slack/Discord
quando um cron agrega falhas.next.config.ts (X-Frame-Options, Referrer-Policy etc.).pg_cron: cada função de despacho chama net.http_post para uma rota /api/.../dispatch com
o domínio de produção hardcoded na função SQL — se o domínio mudar, atualize as funções.public tem RLS habilitado; ao criar uma tabela nova, adicione a policy de dono
antes de expor no cliente.SECURITY DEFINER chamadas só pelo pg_cron (papel postgres) devem ter
revoke execute ... from public, anon, authenticated; explícito — por padrão o Postgres concede
EXECUTE a PUBLIC na criação, o que as expõe via /rest/v1/rpc/... para qualquer visitante.O GLYX fornece organização de dados e orientações gerais; não substitui avaliação médica. Ajustes de medicamento e diagnósticos são responsabilidade do profissional habilitado.