jellyfin-reports es un plugin para Jellyfin diseñado para generar hermosos reportes anuales en formato PDF (A4). Basado en un sistema de cuadrícula flexible, permite visualizar tus estadísticas de visualización, tendencias mensuales y hitos cinematográficos de una manera elegante y profesional.
- 📊 Reportes PDF A4: Genera documentos listos para imprimir o compartir.
- 🧱 Sistema de Grid 2x10: Configuración de layout altamente personalizable mediante JSON.
- 📈 Estadísticas Reales: Integración directa con los datos de tu servidor Jellyfin (tiempo de visualización, conteo de películas, series y episodios).
- 🧩 Arquitectura Modular: Añade nuevos módulos de visualización fácilmente.
- ⚡ API REST: Endpoint dedicado para generar y descargar reportes programáticamente.
- 🛠️ Panel de Configuración: Interfaz integrada en el dashboard de Jellyfin para ajustar el diseño.
Puedes añadir este repositorio directamente a tu servidor Jellyfin para recibir actualizaciones automáticas:
- Ve a Dashboard -> Plugins -> Repositorios.
- Haz clic en el botón
+. - Nombre del Repositorio:
jellyfin-reports - URL del Repositorio:
https://raw.githubusercontent.com/Tarotho/jellyfin-reports/main/manifest.json - Ve a la pestaña Catálogo e instala jellyfin-reports.
- Descarga el archivo
jellyfin-reports.zipdesde la sección de Releases. - Descomprímelo en la carpeta
plugins/jellyfin-reportsde tu servidor Jellyfin. - Reinicia Jellyfin.
- Clona este repositorio:
git clone https://github.com/Tarotho/jellyfin-reports.git
- Asegúrate de tener instalado el SDK de .NET 9.0.
- Compila el proyecto:
dotnet build -c Release
- Copia el archivo generado en
bin/Release/net10.0/jellyfin-reports.dlla tu carpeta de plugins de Jellyfin.
El plugin permite definir qué módulos aparecen en el reporte y dónde se ubican mediante una configuración JSON.
El reporte utiliza una cuadrícula de 2 columnas (X: 0-1) y 10 filas (Y: 0-9).
| X=0 | X=1 |
|---|---|
| (0,0) | (1,0) |
| ... | ... |
| (0,9) | (1,9) |
Puedes editar esto desde el Dashboard de Jellyfin -> Plugins -> jellyfin-reports.
{
"Modules": [
{
"ModuleId": "TotalStats",
"X": 0,
"Y": 0,
"W": 2,
"H": 1,
"Settings": {
"Title": "Mi Año en Jellyfin 2024",
"BackgroundColor": "#1A1A2E",
"AccentColor": "#E94560"
}
},
{
"ModuleId": "Mock",
"X": 0,
"Y": 1,
"W": 1,
"H": 2,
"Settings": {
"Title": "Tendencias Mensuales",
"Color": "#3498DB"
}
}
]
}El plugin expone un endpoint para generar reportes bajo demanda:
- URL:
/AnnualReport/{UserId} - Método:
GET - Parámetros Query:
year: (Opcional) El año del reporte. Por defecto es el año actual.
Ejemplo con cURL:
curl -X GET "http://tu-servidor:8096/AnnualReport/TU_USER_ID" \
-H "X-Emby-Token: TU_API_KEY" \
--output mi_reporte.pdf- Core: .NET 9.0
- PDF Engine: QuestPDF
- UI: HTML/Javascript (integrado en Jellyfin Dashboard)
- API: ASP.NET Core (Jellyfin API Controllers)
¡Las contribuciones son bienvenidas! Si tienes ideas para nuevos módulos (por ejemplo, "Géneros más vistos", "Directores favoritos", etc.), no dudes en abrir un Issue o un Pull Request.
Este proyecto está bajo la licencia MIT.
Hecho con ❤️ para la comunidad de Jellyfin.
