Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
ca9a3ca
chore(deps): bump the npm-runtime-patch-minor group with 2 updates (#…
dependabot[bot] Aug 10, 2026
251114c
chore(deps): bump fast-uri from 3.1.4 to 3.1.5 (#138)
dependabot[bot] Aug 10, 2026
299b95d
chore(deps): bump undici from 6.27.0 to 6.28.0 (#137)
dependabot[bot] Aug 10, 2026
239575d
chore(security): tighten Dependabot and add SECURITY.md
Japegomez Aug 10, 2026
b6c8df0
fix(security): patch transitive advisories and audit allowlist
Japegomez Aug 10, 2026
4f1b12f
feat(profile): add native contact creation from player phone (#139)
Japegomez Aug 10, 2026
bd14623
feat(stats): player statistics, ELO ranking, H2H insights and unified…
Japegomez Aug 10, 2026
31c0405
fix(ci): restrict GITHUB_TOKEN permissions in workflows
Japegomez Aug 10, 2026
ba75453
feat(leagues): ligas, stats de perfil y acceso admin a privados (#143)
Japegomez Aug 10, 2026
5bd6809
Merge branch 'main' into develop
Japegomez Aug 10, 2026
06ae20b
chore(deps): integrate Dependabot #140 and #141 (#145)
Japegomez Aug 10, 2026
3bf9c05
merge: sync main into develop
Japegomez Aug 11, 2026
5a1daba
fix(security): lock down league lifecycle and gate stats refresh
Japegomez Aug 11, 2026
f32c580
fix(security): harden migration ACL revokes for anon and helpers
Japegomez Aug 11, 2026
ecdeab1
docs: document leagues, stats and account-delete for v1.7
Japegomez Aug 11, 2026
592aad2
feat: friend system + match invitations (v1.8.0) (#157)
Japegomez Aug 12, 2026
218fa5f
fix(friends): harden invites UX and follow-up migrations
Japegomez Aug 12, 2026
bc7b0e1
fix(auth): extend background session timeout to 6h
Japegomez Aug 12, 2026
10751f6
merge: sync main hotfix v1.7.1 into develop
Japegomez Aug 12, 2026
99f8e25
fix(deps): pin react-test-renderer for npm ci
Japegomez Aug 12, 2026
536cb57
test: cover friends/invites hooks to restore coverage gates
Japegomez Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/eas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ permissions:

jobs:
quality:
permissions: {}
uses: ./.github/workflows/quality.yml

release-tag:
Expand Down
26 changes: 21 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ _Aplicación móvil multiplataforma para la comunidad de jugadores de mus en Esp

## 📋 Visión del proyecto

**jugaMUS** conecta a jugadores de mus que desean encontrar contrincantes y coordinar partidas puntuales — día, hora y lugar — sin incorporar la lógica del juego en la aplicación. El producto abarca desde la organización informal entre amigos hasta torneos eliminatorios con cuadros visuales, con un enfoque en privacidad, cumplimiento normativo y experiencia de usuario cuidada.
**jugaMUS** conecta a jugadores de mus que desean encontrar contrincantes y coordinar partidas puntuales — día, hora y lugar — sin incorporar la lógica del juego en la aplicación. El producto abarca desde la organización informal entre amigos hasta torneos eliminatorios, ligas y estadísticas de jugador, con un enfoque en privacidad, cumplimiento normativo y experiencia de usuario cuidada.

La aplicación está **publicada y disponible** en las principales tiendas de aplicaciones — [App Store](https://apps.apple.com/es/app/jugamus/id6775626292) y [Google Play](https://play.google.com/store/apps/details?id=com.javiwacho.musapp) —, con soporte web complementario.

Expand All @@ -53,14 +53,15 @@ Este marco permitió mantener coherencia entre lo planificado y lo entregado, fa

### Fases de desarrollo

El alcance se estructuró en **cinco fases incrementales**, cada una con objetivos acotados y entregables verificables:
El alcance se estructuró en **seis fases incrementales**, cada una con objetivos acotados y entregables verificables:

```
Fase 1 ──► Core Autenticación · Perfil · Partidas · Descubrir
Fase 2 ──► Resultados Notificaciones · Validación de marcadores · Reportes
Fase 3 ──► Administración Panel de moderación · Analíticas · Auditoría
Fase 4 ──► Torneos Cuadros eliminatorios · Parejas · Sincronización en tiempo real
Fase 5 ──► Marcador Conteo en vivo local · Acceso sin registro
Fase 6 ──► Ligas y stats Ligas round-robin / Elo · Estadísticas · Logros · Clasificación
```

---
Expand Down Expand Up @@ -159,15 +160,17 @@ La aplicación sigue una **arquitectura cliente-servidor** con separación clara
- Inicio de sesión con **Google**, **Apple ID** y **correo electrónico**
- Registro con aceptación de términos legales y política de privacidad
- Recuperación de contraseña y persistencia de sesión entre reinicios
- **Eliminación de cuenta** conforme al RGPD, con anonimización del historial compartido
- **Eliminación de cuenta** conforme al RGPD, con anonimización del historial compartido (partidas, ligas y torneos)
- Cierre de sesión con confirmación explícita

### 👤 Perfil de usuario

- Datos personales: nombre, teléfono con validación internacional, localidad y foto de perfil
- Preferencias granulares de **notificaciones push** por tipo de evento
- Historial personal de partidas con indicadores de victoria y derrota
- Resumen de **estadísticas / ELO**, logros destacados y pantalla de stats detallada
- **Perfil ajeno** de solo lectura, con visibilidad condicionada por permisos del servidor
- **Guardar contacto** nativo desde el teléfono visible (iOS/Android)
- Envío de **feedback** in-app y valoración periódica en la tienda de aplicaciones

### 🎲 Partidas
Expand All @@ -182,8 +185,8 @@ La aplicación sigue una **arquitectura cliente-servidor** con separación clara

### 🔍 Descubrir

- Listado de partidas y torneos públicos con ordenación por proximidad temporal
- Filtros por ciudad, fecha, plazas libres, visibilidad y estado
- Listado de partidas, torneos y **ligas** públicas con ordenación por proximidad temporal
- Filtros por tipo, ciudad, fecha, plazas libres, visibilidad y estado
- Búsqueda por texto y paginación eficiente
- Actualización en tiempo real sin recarga manual

Expand All @@ -196,6 +199,19 @@ La aplicación sigue una **arquitectura cliente-servidor** con separación clara
- Rol de **árbitro** para el organizador sin necesidad de participar como jugador
- Sincronización multi-dispositivo en cuadro y fichas de torneo

### 🏅 Ligas

- Formatos **round-robin** (ida o ida y vuelta) con jornadas y clasificación
- Formato **open Elo** con retos entre parejas y ranking Elo de pareja
- Parejas mixtas, visibilidad pública o privada con contraseña
- Partidos de liga integrados en el mismo ciclo de resultados y marcador

### 📊 Estadísticas y clasificación

- ELO global, victorias/derrotas, rachas, forma, H2H, compañeros, rivales y sedes
- Podios de torneo y liga; logros con popup al desbloquear y showcase en perfil
- Tab de **clasificación** global y por ciudad

### 📣 Notificaciones y resultados

- Notificaciones push ante uniones, cambios, cancelaciones y recordatorios programados
Expand Down
Loading
Loading