GymCoach
근력 트레이닝 기록 및 개인 AI 코치
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Labcompara website
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Comparador de precios de salud en México. Tres verticales en un dominio:
| Ruta | Qué compara | Fuentes |
|---|---|---|
/laboratorio | 620 estudios de laboratorio | Labbe, Polanco, Chopo, Salud Digna, LAPI, OLAB |
/glp1 | 16 presentaciones GLP-1 | Clivi, Ahorro, Benavides, Guadalajara, San Pablo, Revert |
/medicinas | 200 medicamentos de farmacia | Ahorro, Benavides, Guadalajara, San Pablo, Prixz |
/ es el landing de Medcompara y dirige a las tres. GLPcompara se consolidó
aquí en agosto de 2026; glpcompara.com.mx redirige con 301 en todas sus rutas.
Cada vertical compara una unidad distinta, y equivocarla es de donde salieron casi todos los errores de precio del proyecto: en laboratorio es el mismo estudio, en GLP-1 la misma dosis, y en farmacia la misma caja —misma dosis, misma presentación y mismo número de piezas—. Omeprazol 20 mg cuesta $7.71 por cápsula en caja de 7 y $1.34 en caja de 120 dentro de la misma farmacia: comparar "el más barato" de cada una no compararía nada.
Abrir index.html en cualquier navegador. No requiere servidor ni dependencias
locales: los precios vienen embebidos y el feed fresco se carga encima si está
disponible.
Cada 7 días un workflow de GitHub Actions recorre los seis laboratorios, extrae
su catálogo con precios (~8,300 nombres), lo empareja contra los 620 del
comparador y commitea el resultado. Misma infraestructura que GLPcompara:
cron + Zyte como proveedor anti-bloqueo (SCRAPER_API_KEY).
npm run scan:labs # laboratorios → data/precios.json
npm run scan:farmacias # GLP-1 → data/medicamentos/prices.json
npm run scan:medicinas # farmacia → data/medicinas/prices.json
npm run scan:offline # reusa data/scan/, sin pedir nada a los sitios
npm run scan:apply # además reescribe RAW_DATA en index.html
npm test # emparejador + cargador del feed
npm run expandir # busca estudios nuevos que estén en 3+ labs
gh workflow run scrape-prices.yml -f dry_run=true # corrida manual sin commit
Instalación de la automatización, adaptador por laboratorio y operación: docs/AUTOMATIZACION.md.
index.html landing de Medcompara (dirige a las tres)
pages/laboratorio.html comparador de estudios (datos embebidos)
pages/medicamentos.html comparador GLP-1 (datos embebidos)
pages/medicinas.html comparador de farmacia (lee el feed al cargar)
data/precios.json matriz de precios que consume el sitio
data/price-history.json serie temporal por estudio
data/reporte.md qué cambió en el último scan
data/medicinas/prices.json presentaciones comparables de farmacia
.github/workflows/
scrape-prices.yml el cron de 7 días, un paso por vertical
scripts/
scan-labs.js orquestador de la vertical de laboratorio
scan-farmacias.js orquestador de la vertical GLP-1
scan-medicinas.js orquestador de la vertical de farmacia
lib/http.js compartido transporte con escalada a Zyte
lib/precio.js compartido parseo de precios, HTML, JSON-LD
lib/history.js compartido serie temporal
lib/rutas.js compartido dónde vive cada página
lib/match.js emparejamiento difuso (laboratorio)
lib/agrupar.js descubre estudios agrupando entre labs
lib/presentacion.js lee dosis/forma/piezas de un título (farmacia)
verticales/laboratorio.js 6 adaptadores de laboratorio
verticales/farmacias.js 4 adaptadores de farmacia + 2 curados
verticales/medicinas.js 5 adaptadores de farmacia general
verticales/medicinas-catalogo.json los 200 principios activos más buscados
construir-catalogo-medicinas.js regenera ese catálogo desde la hoja
expandir-catalogo.js amplía RAW_DATA con lo descubierto
test-match.js test-farmacias.js test-medicinas.js test-feed.js
medcompara-apps-script.gs captura de leads (Sheets)
generate-sitemaps.js sitemaps
blog/ pages/ contenido SEO