# 🎾 App Canchas de Pádel [![Build Status](https://img.shields.io/badge/build-passing-brightgreen)](https://github.com/tu-usuario/app-padel) [![Node.js](https://img.shields.io/badge/node-20.x-green.svg)](https://nodejs.org/) [![TypeScript](https://img.shields.io/badge/typescript-5.x-blue.svg)](https://www.typescriptlang.org/) [![License](https://img.shields.io/badge/license-ISC-blue.svg)](LICENSE) [![API Docs](https://img.shields.io/badge/docs-API-orange.svg)](docs/API.md) [![Deploy](https://img.shields.io/badge/deploy-ready-success)](docs/FASE_7_4_GO_LIVE.md) Aplicación completa de gestión para canchas de pádel con reservas, torneos, ligas, pagos integrados y más. ![App Screenshot](docs/assets/screenshot.png) --- ## ✨ Características Principales 🎾 **Reservas en Tiempo Real** Consulta disponibilidad y reserva canchas al instante con confirmación inmediata. 🏆 **Torneos y Ligas** Organiza y participa en torneos de múltiples formatos y ligas por equipos. 📊 **Ranking y Estadísticas** Sigue tu progreso, consulta rankings y analiza tus estadísticas de juego. 💳 **Pagos Integrados** Integración completa con MercadoPago para pagos seguros y suscripciones. 👥 **Comunidad** Conecta con otros jugadores, gestiona amigos y organiza partidos. 🏅 **Logros y Reconocimientos** Sistema de logros, Wall of Fame y retos para motivar a los jugadores. 📱 **App Móvil** Aplicaciones nativas para iOS y Android con React Native. 🔧 **Admin Dashboard** Panel de administración completo para gestionar canchas, usuarios y reportes. --- ## 🚀 Tecnologías Utilizadas ### Backend - **Node.js** 20.x - Runtime de JavaScript - **Express.js** 4.x - Framework web - **TypeScript** 5.x - Tipado estático - **Prisma** 5.x - ORM moderno - **PostgreSQL** 16.x - Base de datos relacional - **JWT** - Autenticación stateless - **MercadoPago SDK** - Procesamiento de pagos ### Frontend - **React** 18.x - Biblioteca UI - **Vite** - Build tool ultrarrápido - **Tailwind CSS** - Framework CSS ### Mobile - **React Native** - Apps nativas iOS/Android ### Infraestructura - **Docker** - Contenerización - **Nginx** - Reverse proxy y SSL - **GitHub Actions** - CI/CD - **PM2** - Gestión de procesos Node.js - **Let's Encrypt** - Certificados SSL gratuitos --- ## 📁 Estructura del Proyecto ``` app-padel/ ├── 📁 backend/ # API REST (Node.js + Express + TypeScript) │ ├── src/ │ │ ├── config/ # Configuraciones │ │ ├── controllers/ # Controladores HTTP │ │ ├── middleware/ # Middlewares │ │ ├── routes/ # Rutas API │ │ ├── services/ # Lógica de negocio │ │ ├── validators/ # Validaciones Zod │ │ └── utils/ # Utilidades │ ├── prisma/ │ │ └── schema.prisma # Esquema de base de datos │ ├── scripts/ # Scripts de utilidad │ │ ├── pre-deploy-check.js │ │ └── backup.sh │ └── Dockerfile.prod # Docker para producción │ ├── 📁 frontend/ # Aplicación web (React) │ ├── src/ │ └── public/ │ ├── 📁 mobile/ # App móvil (React Native) │ ├── src/ │ └── assets/ │ ├── 📁 docs/ # Documentación completa │ ├── API.md # Documentación API │ ├── SETUP.md # Guía de instalación │ ├── DEPLOY.md # Guía de deploy │ ├── LAUNCH_CHECKLIST.md # Checklist de lanzamiento │ ├── FASE_7_4_GO_LIVE.md # Documentación Fase 7.4 │ └── CHANGELOG.md # Historial de cambios │ ├── 📁 nginx/ # Configuración Nginx │ ├── nginx.conf │ └── conf.d/ │ ├── 📁 .github/ # CI/CD GitHub Actions │ └── workflows/ │ ├── deploy.yml │ └── maintenance.yml │ └── docker-compose.prod.yml # Docker Compose producción ``` --- ## 🛠️ Instalación Rápida ### Requisitos - Node.js 20.x - PostgreSQL 14+ (o SQLite para desarrollo) - Git - Docker (opcional, para producción) ### Paso a Paso ```bash # 1. Clonar repositorio git clone https://github.com/tu-usuario/app-padel.git cd app-padel # 2. Configurar backend cd backend cp .env.example .env # Editar .env con tus configuraciones # 3. Instalar dependencias npm install # 4. Configurar base de datos npx prisma migrate dev npx prisma generate # 5. Iniciar en desarrollo npm run dev ``` 📚 **Documentación completa:** [SETUP.md](docs/SETUP.md) --- ## 🚀 Deploy en Producción ### Docker (Recomendado) ```bash # 1. Verificar pre-deploy node backend/scripts/pre-deploy-check.js # 2. Configurar variables cp backend/.env.example .env # Editar .env con valores de producción # 3. Iniciar con Docker Compose docker-compose -f docker-compose.prod.yml up -d # 4. Ejecutar migraciones docker-compose -f docker-compose.prod.yml exec app npx prisma migrate deploy ``` ### Manual ```bash cd backend npm ci --only=production npm run build npm start ``` 📚 **Guía completa:** [FASE_7_4_GO_LIVE.md](docs/FASE_7_4_GO_LIVE.md) 📋 **Checklist:** [LAUNCH_CHECKLIST.md](docs/LAUNCH_CHECKLIST.md) --- ## 📊 Monitoreo y Alertas ### Health Checks | Endpoint | Descripción | Acceso | |----------|-------------|--------| | `GET /api/v1/health` | Health check básico | Público | | `GET /api/v1/health/detailed` | Estado detallado del sistema | Admin | | `GET /api/v1/health/metrics` | Métricas del sistema | Admin | | `GET /api/v1/health/logs` | Logs recientes con filtros | Admin | | `GET /api/v1/health/status` | Métricas Prometheus | Público | ### Alertas Configuradas - ✅ Errores críticos - ✅ Caída de servicios - ✅ Rate limiting excedido - ✅ Backups fallidos - ✅ Health checks fallidos ### Backup Automático ```bash # Backup manual ./backend/scripts/backup.sh # Configurado en cron (diario a las 2 AM) 0 2 * * * /ruta/al/scripts/backup.sh ``` --- ## 📚 Documentación | Documento | Descripción | |-----------|-------------| | [📘 API.md](docs/API.md) | Documentación completa de la API (150+ endpoints) | | [⚙️ SETUP.md](docs/SETUP.md) | Guía de instalación paso a paso | | [🚀 FASE_7_4_GO_LIVE.md](docs/FASE_7_4_GO_LIVE.md) | Guía de deploy y monitoreo | | [📋 LAUNCH_CHECKLIST.md](docs/LAUNCH_CHECKLIST.md) | Checklist de lanzamiento | | [🏗️ ARCHITECTURE.md](docs/ARCHITECTURE.md) | Arquitectura y patrones de diseño | | [📱 APP_STORE.md](docs/APP_STORE.md) | Material para tiendas de apps | | [📋 CHANGELOG.md](docs/CHANGELOG.md) | Historial de versiones | --- ## 🔗 API Endpoints ``` GET /api/v1/health # Health check GET /api/v1/health/detailed # Estado detallado GET /api/v1/health/metrics # Métricas POST /api/v1/auth/register # Registro POST /api/v1/auth/login # Login GET /api/v1/courts # Listar canchas POST /api/v1/bookings # Crear reserva GET /api/v1/tournaments # Listar torneos GET /api/v1/ranking # Ver ranking ... y 150+ endpoints más ``` 📚 [Documentación API completa](docs/API.md) --- ## 🔄 CI/CD ### GitHub Actions Workflows | Workflow | Descripción | Trigger | |----------|-------------|---------| | `deploy.yml` | Tests, build y deploy | Push a main/develop | | `maintenance.yml` | Backup, limpieza, security scan | Cron diario | ### Environments - **Staging:** Auto-deploy desde `develop` - **Production:** Deploy manual con aprobación desde `main` --- ## 🤝 Cómo Contribuir 1. **Fork** el repositorio 2. **Crea** una rama para tu feature (`git checkout -b feature/nueva-funcionalidad`) 3. **Commit** tus cambios (`git commit -m 'Agrega nueva funcionalidad'`) 4. **Push** a la rama (`git push origin feature/nueva-funcionalidad`) 5. **Abre** un Pull Request ### Estándares de Código - Seguir convenciones de TypeScript - Usar ESLint y Prettier - Escribir tests para nuevas funcionalidades - Documentar cambios en CHANGELOG.md - Ejecutar `pre-deploy-check.js` antes de PR --- ## 📊 Estadísticas del Proyecto - **Líneas de código:** 50,000+ - **Endpoints API:** 150+ - **Módulos:** 15+ - **Fases completadas:** 7/7 ✅ - **Tests:** En desarrollo - **Uptime objetivo:** 99.9% --- ## 🛡️ Seguridad - ✅ Autenticación JWT con refresh tokens - ✅ Encriptación de contraseñas (bcrypt) - ✅ Rate limiting y protección DDoS - ✅ Validación de datos con Zod - ✅ Headers de seguridad (helmet) - ✅ CORS configurado - ✅ SQL Injection protection (Prisma) - ✅ Pre-deploy security checks --- ## 📞 Soporte - 📧 **Email:** soporte@tudominio.com - 💬 **Discord:** [Únete al servidor](https://discord.gg/tu-link) - 🐛 **Issues:** [GitHub Issues](https://github.com/tu-usuario/app-padel/issues) - 📊 **Status:** [Status Page](https://status.tudominio.com) --- ## 🗺️ Roadmap - [x] Fase 1: Fundamentos (Auth, Canchas, Reservas) - [x] Fase 2: Torneos y Ligas - [x] Fase 3: Ranking y Sistema de Puntos - [x] Fase 4: Monetización (Pagos, Suscripciones) - [x] Fase 5: Analytics y Dashboard - [x] Fase 6: Experiencia de Usuario - [x] Fase 7: Preparación para Launch - [x] Fase 7.1: Optimización de Performance - [x] Fase 7.2: Sistema de Feedback Beta - [x] Fase 7.3: Material de Marketing - [x] Fase 7.4: Go Live y Soporte ✅ --- ## 📄 Licencia Este proyecto está licenciado bajo la Licencia ISC - ver el archivo [LICENSE](LICENSE) para más detalles. ``` ISC License Copyright (c) 2026 Consultoria AS Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. ``` --- ## 🙏 Agradecimientos - Equipo de desarrollo de Consultoria AS - Comunidad de código abierto - Contribuidores del proyecto - Beta testers ---

Hecho con ❤️ por el equipo de Consultoria AS

WebsiteDocsStatus

--- *Última actualización: Enero 2026* *Versión: 1.0.0 - Production Ready* 🚀