Aplicación web interactiva para mostrar las apps desarrolladas por los estudiantes del curso "Introducción a Shiny: construí tus primeros dashboards con R" de Estación R.
- Página de inicio con hero section y branding de Estación R
- Galería interactiva de aplicaciones con sistema de filtrado
- Tarjetas visuales para cada aplicación con información del autor
- Estadísticas del curso con métricas y visualizaciones
- Diseño responsive compatible con móviles, tablets y desktop
- Tema personalizado basado en los colores corporativos de Estación R
Repo_curso_shiny/
├── app.R # Archivo principal de la aplicación
├── R/
│ ├── ui_modules.R # Módulos de interfaz de usuario
│ ├── server_modules.R # Módulos de servidor
│ └── utils.R # Funciones auxiliares
├── www/
│ ├── css/
│ │ └── custom.css # Estilos personalizados
│ ├── js/
│ │ └── custom.js # JavaScript personalizado
│ └── img/
│ ├── logo_estacion_r_ancho.png
│ ├── logo_estacion_r_largo.png
│ └── portada_curso.png
├── imagen_de_marca_estacion_r/
│ ├── _brand.yml # Guía de marca
│ └── [archivos de imagen]
├── lista_shinyapps.ods # Datos de las aplicaciones
└── README.md # Este archivo
Asegúrate de tener instalado:
- R (versión 4.0 o superior)
- RStudio (recomendado)
# Paquetes principales
install.packages(c(
"shiny",
"bslib",
"readODS",
"dplyr",
"htmltools",
"shinyWidgets",
"DT",
"ggplot2",
"plotly"
))- Abre RStudio
- Abre el archivo
app.R - Haz clic en el botón "Run App" o ejecuta:
shiny::runApp()# Navega al directorio del proyecto
setwd("/ruta/a/Repo_curso_shiny")
# Ejecuta la app
shiny::runApp("app.R")La aplicación lee los datos de las apps desde el archivo lista_shinyapps.ods.
El archivo debe contener las siguientes columnas:
nombre_app: Nombre de la aplicaciónautor: Nombre del autor/estudianteurl: URL donde está desplegada la appdescripcion: Descripción breve del proyectocategoria: Categoría temática de la appfecha: Fecha de creación (formato: YYYY-MM-DD)
| nombre_app | autor | url | descripcion | categoria | fecha |
|---|---|---|---|---|---|
| Mi Primera App | Juan Pérez | https://ejemplo.com | Dashboard de ventas | Negocios | 2024-01-15 |
| Visualizador de Datos | María García | https://ejemplo2.com | Explorador de datasets | Educación | 2024-01-20 |
Los colores de la marca están definidos en:
imagen_de_marca_estacion_r/_brand.yml(colores corporativos)www/css/custom.css(variables CSS)app.R(tema bslib)
Paleta de colores de Estación R:
- Azul primario:
#447099 - Naranja:
#EE6331 - Verde:
#72994E - Teal:
#419599 - Burgundy:
#9A4665
Reemplaza los archivos en www/img/ con tu propio logo:
logo_estacion_r_ancho.png(logo para el navbar)logo_estacion_r_largo.png(logo alternativo)portada_curso.png(imagen del hero section)
# Instalar rsconnect si no lo tienes
install.packages("rsconnect")
# Configurar tu cuenta
rsconnect::setAccountInfo(
name = "tu-usuario",
token = "tu-token",
secret = "tu-secret"
)
# Desplegar
rsconnect::deployApp()- Instala Shiny Server en tu servidor
- Copia el proyecto a
/srv/shiny-server/galeria-apps/ - La app estará disponible en
http://tu-servidor:3838/galeria-apps/
FROM rocker/shiny:latest
# Instalar paquetes
RUN R -e "install.packages(c('shiny', 'bslib', 'readODS', 'dplyr', 'htmltools', 'shinyWidgets', 'DT', 'ggplot2', 'plotly'))"
# Copiar aplicación
COPY . /srv/shiny-server/galeria-apps/
EXPOSE 3838
CMD ["/usr/bin/shiny-server"]- Página de inicio con hero section
- Tarjetas de estadísticas generales
- Galería de apps con tarjetas visuales
- Sistema de filtrado por categoría y autor
- Búsqueda por texto
- Visualizaciones con plotly
- Tabla interactiva con DataTables
- Diseño responsive
- Tema personalizado con colores de Estación R
- Sistema de votación/favoritos
- Comentarios en cada app
- Analytics de visitas
- Exportación a PDF
- Integración con redes sociales
- Vista detallada con iframe embebido
Para contribuir al proyecto:
- Haz un fork del repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -am 'Agrega nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
Para preguntas o problemas:
- Visita Estación R
- Contacta al equipo de Estación R
Este proyecto está desarrollado para Estación R.
Desarrollado con ❤️ usando R + Shiny
Estación R - Tu plataforma de aprendizaje de R y ciencia de datos