🎾 App Canchas de Pádel
Aplicación completa de gestión para canchas de pádel con reservas, torneos, ligas, pagos integrados y más.
✨ 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
# 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
🚀 Deploy en Producción
Docker (Recomendado)
# 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
cd backend
npm ci --only=production
npm run build
npm start
📚 Guía completa: FASE_7_4_GO_LIVE.md
📋 Checklist: 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
# 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 | Documentación completa de la API (150+ endpoints) |
| ⚙️ SETUP.md | Guía de instalación paso a paso |
| 🚀 FASE_7_4_GO_LIVE.md | Guía de deploy y monitoreo |
| 📋 LAUNCH_CHECKLIST.md | Checklist de lanzamiento |
| 🏗️ ARCHITECTURE.md | Arquitectura y patrones de diseño |
| 📱 APP_STORE.md | Material para tiendas de apps |
| 📋 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
🔄 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
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Agrega nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - 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.jsantes 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
- 🐛 Issues: GitHub Issues
- 📊 Status: Status Page
🗺️ Roadmap
- Fase 1: Fundamentos (Auth, Canchas, Reservas)
- Fase 2: Torneos y Ligas
- Fase 3: Ranking y Sistema de Puntos
- Fase 4: Monetización (Pagos, Suscripciones)
- Fase 5: Analytics y Dashboard
- Fase 6: Experiencia de Usuario
- Fase 7: Preparación para Launch
- Fase 7.1: Optimización de Performance
- Fase 7.2: Sistema de Feedback Beta
- Fase 7.3: Material de Marketing
- Fase 7.4: Go Live y Soporte ✅
📄 Licencia
Este proyecto está licenciado bajo la Licencia ISC - ver el archivo 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
Última actualización: Enero 2026
Versión: 1.0.0 - Production Ready 🚀
