Jamorham
Nightscout용 xDrip+ 버전
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Generador de ondas binaurales en tiempo real para meditación, sueño, relajación y concentración. 31 estados de frecuencia, 6 ambientes sintetizados en vivo, dos visualizadores independientes (cimática WebGL y ondas de agua) y una APK Android offline con motor de audio nativo.README 전문 보기 ↗
Generador de ondas binaurales en tiempo real para meditación, sueño, relajación y concentración. 31 estados de frecuencia, 6 ambientes sintetizados en vivo, dos visualizadores independientes (cimática WebGL y ondas de agua) y una APK Android offline con motor de audio nativo.
Principio rector (Plan Maestro Científico): ninguna metáfora visual se presenta como afirmación neurocientífica. Toda variable del pipeline tiene una clase de dominio (
PHYSICAL | NEURAL | PSYCHOLOGICAL | VISUAL | EMPIRICAL | HEURISTIC) y una etiqueta de honestidad (MEASURED | SIMULATED | DERIVED | ESTIMATED | HEURISTIC). El aviso médico es parte del producto, no letra chica.
/rutina (itinerarios + recordatorios) sí exige cuenta — viven en la nube, no localmente.npm install # dependencias (solo vite + vercel analytics)
npm run dev # servidor de desarrollo → http://localhost:5173
npm run build # build de producción multi-página → dist/
npm run preview # servir el build localmente
npm test # suite de validación (113 tests, headless Node)
La misma suite corre en el navegador con window.runBineuralDiagnostics()
desde la consola.
| Variable | Default | Uso |
|---|---|---|
VITE_PROXY_TARGET | http://127.0.0.1:8000 | Destino del proxy /api en dev (backend FastAPI) |
├── index.html y *.html → 20+ páginas (generador, cuenta, rutina, FAQ, diagnóstico…)
├── src/
│ ├── main.js → orquestador del generador (estados, audio, visualizadores)
│ ├── audio.js → motor binaural Web Audio API (clicks-free, watchdog)
│ ├── ambient.js → 6 ambientes sintetizados en vivo
│ ├── cymatics.js / wavefield.js / starfield.js → visualizadores (WebGL2→WebGL1→CPU)
│ ├── core/ → alarm-manager, audio-clock (reloj maestro), audio-transport
│ ├── api/ → client (caché TTL + dedup), auth, favorites, frequencies,
│ │ itineraries, alarms, push, sync, integration
│ ├── ui/ → auth (login/registro/verificación/recuperación), freq-modal
│ ├── models/ → perfiles científicos de los 31 estados (profiles.js)
│ ├── platform/ → puente con la APK (bridge, eventos vyneural:*)
│ └── validation/ → suite de validación científica
├── public/ → PWA (sw.js, manifest), sitemap, vyneural.apk (descarga)
├── android/ → proyecto Android (APK offline, motor Kotlin nativo)
├── docs/ → arquitectura, modelo científico, validación, ISO 27001…
└── scripts/run-diagnostics.mjs → runner de tests headless (113)
┌──────────── Web / PWA ────────────┐ ┌──────────── APK (Android) ────────────┐
│ Estado → BinauralEngine (WebAudio)│ │ WebView (mismo bundle, sin sonido: │
│ · fades sin clics, fase continua │ │ _platformMuted) │
│ · 2 osciladores L/R (Δf = latido) │ │ └─ BinauralToneEngine (Kotlin) ────── │
│ Visualizadores (WebGL/Canvas) │ │ · AudioTrack streaming 44.1 kHz │
│ Alarmas locales (IndexedDB) │ │ · fase continua, rampas suaves │
│ Caché API (TTL 8 s + dedup) │ │ AudioForegroundService (MEDIA_PLAYBACK)│
└──────────────┬─────────────────────┘ │ · sobrevive al bloqueo de pantalla │
│ API (opcional, aditiva) │ MediaSession (lock screen, BT) │
┌──────────────▼─────────────────────┐ │ · skip/seek = ±10 Hz, evento al JS │
│ Backend FastAPI (backvyneural) │ └────────────────────────────────────────┘
│ auth · sincronización · push │
└────────────────────────────────────┘
El backend nunca inicia audio — solo identidad, datos y notificaciones.
La reproducción nace siempre de un gesto del usuario (y un restart del proceso
nativo nunca reanuda por sí solo: START_NOT_STICKY + NO_AUTO_PLAY).
El motor está diseñado para sonar bien y no cortarse:
FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK (no lo mata el bloqueo de pantalla),
MediaSession real conectada a lock screen/notificaciones/auriculares y un
watchdog de audio focus que re-solicita con backoff y reanuda el mismo
motor (nunca una segunda sesión)._platformMuted), así que solo hay un dueño del audio: el servicio nativo.
Toda la actividad queda en un log forense (Diagnostics + /diagnostico).docs/accounts.md.escapeHtml/textContent.docs/seguridad-iso27001.md.La APK empaqueta el build web (dist/) en android/app/src/main/assets/bineural/
y corre offline con un motor nativo (Kotlin) para el audio. Requiere JDK 17
(Gradle 8.2 no soporta Java 25; el JBR de Android Studio es Java 25 y falla al
recompilar el build script):
# JDK 17 portable (dentro del repo, ignorado por git):
# curl -sL -o android/.jdk17/jdk17.zip \
# "https://api.adoptium.net/v3/binary/latest/17/ga/windows/x64/jdk/hotspot/normal/eclipse"
# cd android/.jdk17 && unzip jdk17.zip
npm run build
rm -rf android/app/src/main/assets/bineural && mkdir -p android/app/src/main/assets/bineural
(cd dist && tar cf - --exclude='*.apk' . | (cd ../android/app/src/main/assets/bineural && tar xf -))
cd android && JAVA_HOME="<ruta>/android/.jdk17/jdk-17.0.20+8" ./gradlew assembleRelease
# release firmada → app/build/outputs/apk/release/app-release.apk
# La app NO se distribuye por descarga directa desde la web (ver /descargar,
# que hoy es solo un anuncio de "próximamente en Google Play"): no hay que
# copiar el .apk a public/ ni re-buildear el sitio por esto. Para probarla en
# un dispositivo/emulador: adb install -r app/build/outputs/apk/release/app-release.apk
La release requiere firma: keystore y credenciales en android/local.properties
(gitignored) o variables BINEURAL_STORE_*. Compilar con JDK 17:
JAVA_HOME=<ruta>.jdk17/jdk-17.0.20+8 ./gradlew assembleRelease.
npm test # 113 tests de validación (modelo científico, audio, alarmas, UI)
Cobertura: pipeline científico (estímulo → auditivo → neural → EEG → cognitivo
→ visual), reproducción/condiciones experimentales, alarmas locales, flujos de
cuenta (frontend), modales y páginas. El backend tiene su propia suite (92
tests, incluidos los recordatorios por Web Push) en el repo
vyneural-backend.
| Documento | Contenido |
|---|---|
docs/architecture.md | Arquitectura y flujo de datos del pipeline |
docs/audit.md | Auditoría baseline (Fase 0) |
docs/scientific-model.md | Ecuaciones, parámetros y clasificación de cada modelo |
docs/validation.md | Suite de validación, checklist de integridad y resultados |
docs/development.md | Flujo de desarrollo, estructura del repo, despliegue |
docs/accounts.md | Cuentas, verificación de correo, recuperación y sincronización |
docs/seguridad-iso27001.md | Auditoría de seguridad ISO/IEC 27001 (Anexo A) |
docs/android-roadmap.md | Hoja de ruta de la APK (nativo, audio, MediaSession) |
docs/MVP_LAUNCH.md | Plan de lanzamiento del MVP |
vyneural.cl): web/PWA + APK.vyneural-backend: API
FastAPI (identidad, sincronización, push).⚠️ Aviso médico: las ondas binaurales son una herramienta de relajación. No sustituyen atención ni tratamiento médico. Usá auriculares y un volumen seguro; no las uses mientras conduces o manejas maquinaria.
docs/HARDWARE_TEST_PLAN.md| Plan de testeo físico (audio, alarmas, MediaSession) |