diff --git a/datos/interseccion_github_reddit.csv b/datos/interseccion_github_reddit.csv index e59cdb8..a71bf34 100644 --- a/datos/interseccion_github_reddit.csv +++ b/datos/interseccion_github_reddit.csv @@ -3,7 +3,7 @@ Python,Lenguaje,1,7,6 TypeScript,Lenguaje,2,8,6 Sin especificar,Lenguaje,3,No encontrado,- JavaScript,Lenguaje,4,10,6 -Go,Lenguaje,5,No encontrado,- +Rust,Lenguaje,5,No encontrado,- Next.js,Framework Frontend,1,No encontrado,- Angular,Framework Frontend,2,No encontrado,- React,Framework Frontend,3,No encontrado,- diff --git a/datos/reddit_sentimiento_frameworks.csv b/datos/reddit_sentimiento_frameworks.csv index eeb0b31..73d0235 100644 --- a/datos/reddit_sentimiento_frameworks.csv +++ b/datos/reddit_sentimiento_frameworks.csv @@ -1,5 +1,6 @@ framework,total_menciones,positivos,neutros,negativos,% positivo,% neutro,% negativo -Django,4,4,0,0,100.0,0.0,0.0 +Django,3,3,0,0,100.0,0.0,0.0 +Spring,1,1,0,0,100.0,0.0,0.0 Laravel,19,18,0,1,94.74,0.0,5.26 -Express,18,17,0,1,94.44,0.0,5.56 +Express,15,14,0,1,93.33,0.0,6.67 FastAPI,2,1,0,1,50.0,0.0,50.0 diff --git a/datos/reddit_temas_emergentes.csv b/datos/reddit_temas_emergentes.csv index efe637f..362ebcb 100644 --- a/datos/reddit_temas_emergentes.csv +++ b/datos/reddit_temas_emergentes.csv @@ -1,11 +1,11 @@ tema,menciones -IA/Machine Learning,130 -Performance,53 -Seguridad,34 -Testing,32 -Cloud,30 +IA/Machine Learning,139 +Performance,50 +Cloud,36 +Seguridad,36 +Testing,31 DevOps,25 -Python,23 -TypeScript,20 -Microservicios,13 +Python,20 +TypeScript,17 +Microservicios,11 Web3/Blockchain,6 diff --git a/frontend/assets/data/interseccion_github_reddit.csv b/frontend/assets/data/interseccion_github_reddit.csv index e59cdb8..a71bf34 100644 --- a/frontend/assets/data/interseccion_github_reddit.csv +++ b/frontend/assets/data/interseccion_github_reddit.csv @@ -3,7 +3,7 @@ Python,Lenguaje,1,7,6 TypeScript,Lenguaje,2,8,6 Sin especificar,Lenguaje,3,No encontrado,- JavaScript,Lenguaje,4,10,6 -Go,Lenguaje,5,No encontrado,- +Rust,Lenguaje,5,No encontrado,- Next.js,Framework Frontend,1,No encontrado,- Angular,Framework Frontend,2,No encontrado,- React,Framework Frontend,3,No encontrado,- diff --git a/frontend/assets/data/reddit_interseccion_history.json b/frontend/assets/data/reddit_interseccion_history.json index 3a87bdf..d57901f 100644 --- a/frontend/assets/data/reddit_interseccion_history.json +++ b/frontend/assets/data/reddit_interseccion_history.json @@ -1,10 +1,10 @@ { - "generated_at_utc": "2026-04-27T03:48:17Z", + "generated_at_utc": "2026-05-04T04:26:35Z", "dataset": "interseccion_github_reddit", "source_mode": "history", - "snapshot_count": 5, - "latest_snapshot_date": "2026-04-27", - "previous_snapshot_date": "2026-04-20", + "snapshot_count": 6, + "latest_snapshot_date": "2026-05-04", + "previous_snapshot_date": "2026-04-27", "coverage_pct": 30.0, "comparable_count": 3, "item_count": 10, @@ -62,40 +62,40 @@ "trend_direction": null }, { - "tecnologia": "Go", - "tipo": "Lenguaje", - "ranking_github": 5, + "tecnologia": "Next.js", + "tipo": "Framework Frontend", + "ranking_github": 1, "ranking_reddit": null, "brecha_abs": null, "promedio_rank": null, "direccion": "incompleto", - "rank_github_prev": 5, + "rank_github_prev": 1, "rank_reddit_prev": null, "delta_gap": null, "trend_direction": null }, { - "tecnologia": "Next.js", + "tecnologia": "React", "tipo": "Framework Frontend", - "ranking_github": 1, + "ranking_github": 3, "ranking_reddit": null, "brecha_abs": null, "promedio_rank": null, "direccion": "incompleto", - "rank_github_prev": 1, + "rank_github_prev": 3, "rank_reddit_prev": null, "delta_gap": null, "trend_direction": null }, { - "tecnologia": "React", - "tipo": "Framework Frontend", - "ranking_github": 3, + "tecnologia": "Rust", + "tipo": "Lenguaje", + "ranking_github": 5, "ranking_reddit": null, "brecha_abs": null, "promedio_rank": null, "direccion": "incompleto", - "rank_github_prev": 3, + "rank_github_prev": null, "rank_reddit_prev": null, "delta_gap": null, "trend_direction": null @@ -670,6 +670,106 @@ "direccion": "incompleto" } ] + }, + { + "date": "2026-05-04", + "path": "datos/history/interseccion/year=2026/month=05/day=04/interseccion_github_reddit.csv", + "source_type": "history", + "row_count": 10, + "comparable_count": 3, + "coverage_pct": 30.0, + "items": [ + { + "tecnologia": "Python", + "tipo": "Lenguaje", + "ranking_github": 1, + "ranking_reddit": 7, + "brecha_abs": 6, + "promedio_rank": 4.0, + "direccion": "github_favorece" + }, + { + "tecnologia": "TypeScript", + "tipo": "Lenguaje", + "ranking_github": 2, + "ranking_reddit": 8, + "brecha_abs": 6, + "promedio_rank": 5.0, + "direccion": "github_favorece" + }, + { + "tecnologia": "JavaScript", + "tipo": "Lenguaje", + "ranking_github": 4, + "ranking_reddit": 10, + "brecha_abs": 6, + "promedio_rank": 7.0, + "direccion": "github_favorece" + }, + { + "tecnologia": "Angular", + "tipo": "Framework Frontend", + "ranking_github": 2, + "ranking_reddit": null, + "brecha_abs": null, + "promedio_rank": null, + "direccion": "incompleto" + }, + { + "tecnologia": "Next.js", + "tipo": "Framework Frontend", + "ranking_github": 1, + "ranking_reddit": null, + "brecha_abs": null, + "promedio_rank": null, + "direccion": "incompleto" + }, + { + "tecnologia": "React", + "tipo": "Framework Frontend", + "ranking_github": 3, + "ranking_reddit": null, + "brecha_abs": null, + "promedio_rank": null, + "direccion": "incompleto" + }, + { + "tecnologia": "Rust", + "tipo": "Lenguaje", + "ranking_github": 5, + "ranking_reddit": null, + "brecha_abs": null, + "promedio_rank": null, + "direccion": "incompleto" + }, + { + "tecnologia": "Sin especificar", + "tipo": "Lenguaje", + "ranking_github": 3, + "ranking_reddit": null, + "brecha_abs": null, + "promedio_rank": null, + "direccion": "incompleto" + }, + { + "tecnologia": "Svelte", + "tipo": "Framework Frontend", + "ranking_github": 4, + "ranking_reddit": null, + "brecha_abs": null, + "promedio_rank": null, + "direccion": "incompleto" + }, + { + "tecnologia": "Vue 3", + "tipo": "Framework Frontend", + "ranking_github": 5, + "ranking_reddit": null, + "brecha_abs": null, + "promedio_rank": null, + "direccion": "incompleto" + } + ] } ] } \ No newline at end of file diff --git a/frontend/assets/data/reddit_sentimiento_frameworks.csv b/frontend/assets/data/reddit_sentimiento_frameworks.csv index eeb0b31..73d0235 100644 --- a/frontend/assets/data/reddit_sentimiento_frameworks.csv +++ b/frontend/assets/data/reddit_sentimiento_frameworks.csv @@ -1,5 +1,6 @@ framework,total_menciones,positivos,neutros,negativos,% positivo,% neutro,% negativo -Django,4,4,0,0,100.0,0.0,0.0 +Django,3,3,0,0,100.0,0.0,0.0 +Spring,1,1,0,0,100.0,0.0,0.0 Laravel,19,18,0,1,94.74,0.0,5.26 -Express,18,17,0,1,94.44,0.0,5.56 +Express,15,14,0,1,93.33,0.0,6.67 FastAPI,2,1,0,1,50.0,0.0,50.0 diff --git a/frontend/assets/data/reddit_sentimiento_public.json b/frontend/assets/data/reddit_sentimiento_public.json index 7edd18e..9407f64 100644 --- a/frontend/assets/data/reddit_sentimiento_public.json +++ b/frontend/assets/data/reddit_sentimiento_public.json @@ -1,15 +1,25 @@ { - "generated_at_utc": "2026-04-27T10:26:00Z", + "generated_at_utc": "2026-05-04T04:26:35Z", "dataset": "reddit_sentimiento_frameworks", "source_mode": "latest", "source_path": "datos/latest/reddit_sentimiento_frameworks.csv", - "source_updated_at_utc": "2026-04-27T10:25:56Z", - "framework_count": 4, + "source_updated_at_utc": "2026-05-04T04:26:29Z", + "framework_count": 5, "frameworks": [ { "framework": "Django", - "total_menciones": 4, - "positivos": 4, + "total_menciones": 3, + "positivos": 3, + "neutros": 0, + "negativos": 0, + "porcentaje_positivo": 100.0, + "porcentaje_neutro": 0.0, + "porcentaje_negativo": 0.0 + }, + { + "framework": "Spring", + "total_menciones": 1, + "positivos": 1, "neutros": 0, "negativos": 0, "porcentaje_positivo": 100.0, @@ -28,13 +38,13 @@ }, { "framework": "Express", - "total_menciones": 18, - "positivos": 17, + "total_menciones": 15, + "positivos": 14, "neutros": 0, "negativos": 1, - "porcentaje_positivo": 94.44, + "porcentaje_positivo": 93.33, "porcentaje_neutro": 0.0, - "porcentaje_negativo": 5.56 + "porcentaje_negativo": 6.67 }, { "framework": "FastAPI", @@ -50,8 +60,8 @@ "summary": { "positive_leader": { "framework": "Django", - "total_menciones": 4, - "positivos": 4, + "total_menciones": 3, + "positivos": 3, "neutros": 0, "negativos": 0, "porcentaje_positivo": 100.0, @@ -78,7 +88,7 @@ "porcentaje_neutro": 0.0, "porcentaje_negativo": 50.0 }, - "framework_count": 4, - "total_menciones": 43 + "framework_count": 5, + "total_menciones": 40 } } \ No newline at end of file diff --git a/frontend/assets/data/reddit_temas_emergentes.csv b/frontend/assets/data/reddit_temas_emergentes.csv index efe637f..362ebcb 100644 --- a/frontend/assets/data/reddit_temas_emergentes.csv +++ b/frontend/assets/data/reddit_temas_emergentes.csv @@ -1,11 +1,11 @@ tema,menciones -IA/Machine Learning,130 -Performance,53 -Seguridad,34 -Testing,32 -Cloud,30 +IA/Machine Learning,139 +Performance,50 +Cloud,36 +Seguridad,36 +Testing,31 DevOps,25 -Python,23 -TypeScript,20 -Microservicios,13 +Python,20 +TypeScript,17 +Microservicios,11 Web3/Blockchain,6 diff --git a/frontend/assets/data/reddit_temas_history.json b/frontend/assets/data/reddit_temas_history.json index f9078a8..bf78ac6 100644 --- a/frontend/assets/data/reddit_temas_history.json +++ b/frontend/assets/data/reddit_temas_history.json @@ -1,111 +1,111 @@ { - "generated_at_utc": "2026-04-27T03:48:17Z", + "generated_at_utc": "2026-05-04T04:26:35Z", "dataset": "reddit_temas_emergentes", "source_mode": "history", - "snapshot_count": 5, - "latest_snapshot_date": "2026-04-27", - "previous_snapshot_date": "2026-04-20", + "snapshot_count": 6, + "latest_snapshot_date": "2026-05-04", + "previous_snapshot_date": "2026-04-27", "topic_count": 10, "summary": { "leader_topic": { "tema": "IA/Machine Learning", - "menciones": 130, - "menciones_previas": 132, - "delta_menciones": -2, - "growth_pct": -1.52, - "trend_direction": "cayendo" + "menciones": 139, + "menciones_previas": 130, + "delta_menciones": 9, + "growth_pct": 6.92, + "trend_direction": "creciendo" }, "highest_growth_topic": { - "tema": "Python", - "menciones": 23, - "menciones_previas": 21, - "delta_menciones": 2, - "growth_pct": 9.52, + "tema": "IA/Machine Learning", + "menciones": 139, + "menciones_previas": 130, + "delta_menciones": 9, + "growth_pct": 6.92, "trend_direction": "creciendo" }, "largest_drop_topic": { - "tema": "Cloud", - "menciones": 30, - "menciones_previas": 46, - "delta_menciones": -16, - "growth_pct": -34.78, + "tema": "Performance", + "menciones": 50, + "menciones_previas": 53, + "delta_menciones": -3, + "growth_pct": -5.66, "trend_direction": "cayendo" }, - "total_menciones": 366, + "total_menciones": 371, "topic_count": 10 }, "latest_topics": [ { "tema": "IA/Machine Learning", - "menciones": 130, - "menciones_previas": 132, - "delta_menciones": -2, - "growth_pct": -1.52, - "trend_direction": "cayendo" + "menciones": 139, + "menciones_previas": 130, + "delta_menciones": 9, + "growth_pct": 6.92, + "trend_direction": "creciendo" }, { "tema": "Performance", - "menciones": 53, - "menciones_previas": 56, + "menciones": 50, + "menciones_previas": 53, "delta_menciones": -3, - "growth_pct": -5.36, + "growth_pct": -5.66, "trend_direction": "cayendo" }, { - "tema": "Seguridad", - "menciones": 34, - "menciones_previas": 45, - "delta_menciones": -11, - "growth_pct": -24.44, - "trend_direction": "cayendo" + "tema": "Cloud", + "menciones": 36, + "menciones_previas": 30, + "delta_menciones": 6, + "growth_pct": 20.0, + "trend_direction": "creciendo" }, { - "tema": "Testing", - "menciones": 32, - "menciones_previas": 31, - "delta_menciones": 1, - "growth_pct": 3.23, + "tema": "Seguridad", + "menciones": 36, + "menciones_previas": 34, + "delta_menciones": 2, + "growth_pct": 5.88, "trend_direction": "creciendo" }, { - "tema": "Cloud", - "menciones": 30, - "menciones_previas": 46, - "delta_menciones": -16, - "growth_pct": -34.78, + "tema": "Testing", + "menciones": 31, + "menciones_previas": 32, + "delta_menciones": -1, + "growth_pct": -3.12, "trend_direction": "cayendo" }, { "tema": "DevOps", "menciones": 25, - "menciones_previas": 36, - "delta_menciones": -11, - "growth_pct": -30.56, - "trend_direction": "cayendo" + "menciones_previas": 25, + "delta_menciones": 0, + "growth_pct": 0.0, + "trend_direction": "estable" }, { "tema": "Python", - "menciones": 23, - "menciones_previas": 21, - "delta_menciones": 2, - "growth_pct": 9.52, - "trend_direction": "creciendo" + "menciones": 20, + "menciones_previas": 23, + "delta_menciones": -3, + "growth_pct": -13.04, + "trend_direction": "cayendo" }, { "tema": "TypeScript", - "menciones": 20, - "menciones_previas": 19, - "delta_menciones": 1, - "growth_pct": 5.26, - "trend_direction": "creciendo" + "menciones": 17, + "menciones_previas": 20, + "delta_menciones": -3, + "growth_pct": -15.0, + "trend_direction": "cayendo" }, { "tema": "Microservicios", - "menciones": 13, + "menciones": 11, "menciones_previas": 13, - "delta_menciones": 0, - "growth_pct": 0.0, - "trend_direction": "estable" + "delta_menciones": -2, + "growth_pct": -15.38, + "trend_direction": "cayendo" }, { "tema": "Web3/Blockchain", @@ -411,6 +411,65 @@ "participacion_pct": 1.64 } ] + }, + { + "date": "2026-05-04", + "path": "datos/history/reddit_temas/year=2026/month=05/day=04/reddit_temas_emergentes.csv", + "source_type": "history", + "row_count": 10, + "total_menciones": 371, + "top_topics": [ + { + "tema": "IA/Machine Learning", + "menciones": 139, + "participacion_pct": 37.47 + }, + { + "tema": "Performance", + "menciones": 50, + "participacion_pct": 13.48 + }, + { + "tema": "Cloud", + "menciones": 36, + "participacion_pct": 9.7 + }, + { + "tema": "Seguridad", + "menciones": 36, + "participacion_pct": 9.7 + }, + { + "tema": "Testing", + "menciones": 31, + "participacion_pct": 8.36 + }, + { + "tema": "DevOps", + "menciones": 25, + "participacion_pct": 6.74 + }, + { + "tema": "Python", + "menciones": 20, + "participacion_pct": 5.39 + }, + { + "tema": "TypeScript", + "menciones": 17, + "participacion_pct": 4.58 + }, + { + "tema": "Microservicios", + "menciones": 11, + "participacion_pct": 2.96 + }, + { + "tema": "Web3/Blockchain", + "menciones": 6, + "participacion_pct": 1.62 + } + ] } ], "series": [ @@ -441,6 +500,11 @@ "date": "2026-04-27", "menciones": 130, "participacion_pct": 35.52 + }, + { + "date": "2026-05-04", + "menciones": 139, + "participacion_pct": 37.47 } ] }, @@ -471,6 +535,46 @@ "date": "2026-04-27", "menciones": 53, "participacion_pct": 14.48 + }, + { + "date": "2026-05-04", + "menciones": 50, + "participacion_pct": 13.48 + } + ] + }, + { + "tema": "Cloud", + "points": [ + { + "date": "2026-03-30", + "menciones": 27, + "participacion_pct": 7.22 + }, + { + "date": "2026-04-06", + "menciones": 31, + "participacion_pct": 8.68 + }, + { + "date": "2026-04-13", + "menciones": 41, + "participacion_pct": 10.07 + }, + { + "date": "2026-04-20", + "menciones": 46, + "participacion_pct": 11.36 + }, + { + "date": "2026-04-27", + "menciones": 30, + "participacion_pct": 8.2 + }, + { + "date": "2026-05-04", + "menciones": 36, + "participacion_pct": 9.7 } ] }, @@ -501,6 +605,11 @@ "date": "2026-04-27", "menciones": 34, "participacion_pct": 9.29 + }, + { + "date": "2026-05-04", + "menciones": 36, + "participacion_pct": 9.7 } ] }, @@ -531,36 +640,11 @@ "date": "2026-04-27", "menciones": 32, "participacion_pct": 8.74 - } - ] - }, - { - "tema": "Cloud", - "points": [ - { - "date": "2026-03-30", - "menciones": 27, - "participacion_pct": 7.22 }, { - "date": "2026-04-06", + "date": "2026-05-04", "menciones": 31, - "participacion_pct": 8.68 - }, - { - "date": "2026-04-13", - "menciones": 41, - "participacion_pct": 10.07 - }, - { - "date": "2026-04-20", - "menciones": 46, - "participacion_pct": 11.36 - }, - { - "date": "2026-04-27", - "menciones": 30, - "participacion_pct": 8.2 + "participacion_pct": 8.36 } ] }, @@ -591,6 +675,11 @@ "date": "2026-04-27", "menciones": 25, "participacion_pct": 6.83 + }, + { + "date": "2026-05-04", + "menciones": 25, + "participacion_pct": 6.74 } ] }, @@ -621,6 +710,11 @@ "date": "2026-04-27", "menciones": 23, "participacion_pct": 6.28 + }, + { + "date": "2026-05-04", + "menciones": 20, + "participacion_pct": 5.39 } ] }, @@ -651,6 +745,11 @@ "date": "2026-04-27", "menciones": 20, "participacion_pct": 5.46 + }, + { + "date": "2026-05-04", + "menciones": 17, + "participacion_pct": 4.58 } ] }, @@ -681,6 +780,11 @@ "date": "2026-04-27", "menciones": 13, "participacion_pct": 3.55 + }, + { + "date": "2026-05-04", + "menciones": 11, + "participacion_pct": 2.96 } ] }, @@ -711,6 +815,11 @@ "date": "2026-04-27", "menciones": 6, "participacion_pct": 1.64 + }, + { + "date": "2026-05-04", + "menciones": 6, + "participacion_pct": 1.62 } ] }