Una aplicación web moderna, elegante e intuitiva para realizar sorteos con nombres o números. Ideal para rifas, concursos, sorteos de premios y cualquier evento que requiera selección aleatoria de ganadores.
-
Dos modos de sorteo:
- 🔤 Modo Nombres: Ingresa una lista de participantes por nombre
- 🔢 Modo Números: Define un rango numérico para el sorteo
-
Sorteos flexibles:
- Selección múltiple de ganadores
- Opción de permitir o no repetidos
- Animaciones visuales durante el sorteo
- Efectos de sonido personalizables
- ✅ Diseño moderno y responsive (adaptable a móviles, tablets y desktop)
- 🌓 Modo oscuro/claro con cambio dinámico
- 🎭 Animaciones suaves y profesionales
- 🎊 Efectos de confeti al anunciar ganadores
- 📊 Panel de estadísticas en tiempo real
- 📜 Historial de sorteos: Mantiene registro de los últimos 10 sorteos
- 💾 Persistencia de datos: Guarda historial y configuraciones en localStorage
- 📥 Exportación de resultados: Descarga los ganadores en formato TXT
- 🔗 Compartir resultados: Comparte directamente o copia al portapapeles
- 🔊 Efectos de sonido: Sonidos generados con Web Audio API
- Total de participantes actuales
- Total de ganadores históricos
- Total de sorteos realizados
- Navegador web moderno (Chrome, Firefox, Edge, Safari)
- No requiere instalación de dependencias
- No requiere servidor (funciona como archivo local)
-
Descarga los archivos:
git clone https://github.com/tu-usuario/generador-rifas.git cd generador-rifas -
Abre la aplicación:
- Simplemente abre el archivo
index.htmlen tu navegador - O arrastra el archivo al navegador
- O usa un servidor local:
# Con Python 3 python -m http.server 8000 # Con Node.js (http-server) npx http-server
- Simplemente abre el archivo
-
¡Listo para usar! 🎉
- Selecciona la opción "Nombres" en el selector de modo
- Ingresa los nombres de los participantes:
- Separa cada nombre con una línea nueva
- O separa los nombres con comas
- Ejemplo:
Juan Pérez María García Pedro López
- Configura la cantidad de ganadores
- Marca "Permitir repetidos" si deseas que un mismo nombre pueda salir varias veces
- Haz clic en "Iniciar Sorteo"
- ¡Observa la animación y descubre al ganador!
- Selecciona la opción "Números" en el selector de modo
- Define el rango:
- Desde: Número inicial (ej: 1)
- Hasta: Número final (ej: 100)
- Configura la cantidad de ganadores
- Marca "Permitir repetidos" si deseas que un mismo número pueda salir varias veces
- Haz clic en "Iniciar Sorteo"
- ¡Disfruta la animación y conoce los números ganadores!
- Activa/desactiva los efectos de sonido desde la casilla "Sonidos activados"
- En modo nombres, usa el botón "Cargar ejemplo" para ver una demostración rápida
- Haz clic en el icono de luna/sol en la esquina superior derecha
- Alterna entre modo claro y oscuro según tu preferencia
- Después de un sorteo, haz clic en "Exportar Resultados"
- Se descargará un archivo TXT con los ganadores y detalles del sorteo
- Usa el botón "Compartir" para:
- Compartir mediante la API nativa del navegador (móviles)
- Copiar al portapapeles (desktop)
- Revisa los últimos 10 sorteos realizados
- Limpia el historial con el botón "Limpiar" si es necesario
- HTML5: Estructura semántica y moderna
- CSS3: Diseño responsive con variables CSS, flexbox y grid
- JavaScript (ES6+): Programación orientada a objetos y modular
- Font Awesome: Iconografía profesional
- Web Audio API: Efectos de sonido sin dependencias externas
- LocalStorage API: Persistencia de datos del lado del cliente
- Web Share API: Compartir resultados nativamente
generador-rifas-profesional/
│
├── index.html # Estructura HTML principal
├── README.md # Documentación principal
├── LICENSE # Licencia MIT
├── .gitignore # Configuración Git
│
├── css/
│ └── styles.css # Estilos y animaciones
│
├── js/
│ └── app.js # Lógica de la aplicación
│
├── docs/
│ ├── INSTRUCCIONES_GITHUB.md # Guía para GitHub
│ └── RESUMEN_PROYECTO.md # Resumen ejecutivo
│
└── assets/ # Recursos adicionales (imágenes, etc.)
class RaffleApp {
// Gestión de modos (nombres/números)
// Animaciones de sorteo
// Gestión de ganadores
// Historial y estadísticas
// Persistencia de datos
// Temas claro/oscuro
// Exportación y compartir
}- ✅ Programación orientada a objetos
- ✅ Código modular y reutilizable
- ✅ Manejo de eventos eficiente
- ✅ Animaciones suaves con CSS y JavaScript
- ✅ Responsive design con media queries
- ✅ Accesibilidad considerada
- ✅ Performance optimizado
- Sorteos en vivo: Eventos presenciales o virtuales
- Rifas benéficas: Organizaciones sin fines de lucro
- Concursos en redes sociales: Selección de ganadores de manera transparente
- Eventos corporativos: Dinámicas de equipo o sorteos de premios
- Educación: Selección aleatoria de estudiantes
- Juegos de azar regulados: Loterías pequeñas o sorteos comunitarios
- ✅ Todo funciona localmente en el navegador
- ✅ No se envían datos a servidores externos
- ✅ Los datos se guardan solo en el localStorage del navegador
- ✅ Sin tracking ni analytics
- ✅ Sin cookies de terceros
| Navegador | Versión Mínima | Soporte |
|---|---|---|
| Chrome | 80+ | ✅ Full |
| Firefox | 75+ | ✅ Full |
| Safari | 13+ | ✅ Full |
| Edge | 80+ | ✅ Full |
| Opera | 67+ | ✅ Full |
La aplicación está completamente optimizada para:
- 📱 Móviles (320px - 767px)
- 📱 Tablets (768px - 1023px)
- 💻 Desktop (1024px+)
- 🖥️ Pantallas grandes (1440px+)
- Modo PWA (Progressive Web App)
- Exportación en PDF con diseño personalizado
- Múltiples idiomas (inglés, portugués)
- Temas personalizables (colores)
- Integración con Google Sheets
- Modo presentación (pantalla completa)
- Animaciones adicionales de sorteo
- Importar participantes desde CSV/Excel
- Historial ilimitado con búsqueda
- Estadísticas avanzadas con gráficos
¡Las contribuciones son bienvenidas! Si deseas mejorar esta aplicación:
- Haz un Fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Desarrollado con ❤️ por un apasionado del desarrollo web
- Font Awesome por los íconos
- La comunidad de desarrolladores web
- Todos los que usan y mejoran esta aplicación
Si encuentras algún problema o tienes sugerencias:
- 🐛 Reporta bugs en Issues
- 💡 Sugiere mejoras en Discussions
- ⭐ Dale una estrella al proyecto si te gusta
¡Que tengas sorteos exitosos! 🎉🍀