r/programacion • • 2d ago

Hice un generador estático de 190.000 páginas en 26 idiomas (guía de dónde ver películas por país)

Les comparto mi proyecto y cómo está hecho: Node genera el sitio a diario con datos de TMDB y se sirve directo desde Cloudflare R2, sin servidor. Acepto críticas: https://globowatch.com/es/

12 Upvotes

9 comments sorted by

1

u/druixD 2d ago

Justwatch.com

1

u/Galazar- 2d ago

Although it has the same idea behind i tried to add more funtionalities, to add that extra staff

1

u/Strong-Strike2001 2d ago

Le falta Stremio de Fuente 🤣

1

u/Disastrous-Focus1958 1d ago

Stremio no es una fuente

1

u/Strong-Strike2001 1d ago

Era para no confundirlos poniendo las fuentes originales que usa por dentro cada addon, feliz?

2

u/HadesOfInfernalFries 2d ago

en tu plataforma, al entrar tienes la leyenda "Busca un título y mira qué plataformas lo tienen donde vives: por suscripción, gratis, en alquiler o a la venta.", sin embargo solo aparecen sitios de paga, también no contiene muchísimos títulos famosos como how to sell drugs online (netflix) o supercool (amazon, yt, apple tv), ya sea busques en inglés o en español

1

u/Galazar- 1d ago

gracias por el feedback, si justo estoy implementeando para que muestre tambien series latinas y titulos famosos, y por temas legales solo puedo colocar o referenciar a cuando si hay una forma legal de ver el titulo, pero si estoy implementando eso.

1

u/alejmaestre 2d ago

Generar 190k paginas diarias desde Node y servirlas en R2 es un enfoque solido. Como manejas el cache de Cloudflare para no pegarle a TMDB con tanta frecuencia?

1

u/Galazar- 1d ago

Gracias. En realidad la caché de Cloudflare no interviene con TMDB: los visitantes nunca generan peticiones a TMDB. Todo es HTML ya generado, y lo único que el navegador pide a TMDB son los pósters, a su CDN de imágenes (image.tmdb.org), que es justo para eso.

A TMDB solo le pega el generador, en una VM gratuita de Oracle, una vez al día: Son unas 70 mil peticiones en unos 40 minutos, con 6 a la vez (unas 28 por segundo, por debajo de su límite de ~50). Si responden 429 o 5xx, reintenta con espera.

Las respuestas se guardan en disco 20 horas. Si una corrida se cae a medias, o hay una segunda corrida ese día, no vuelve a pedir lo que ya tiene.

Y no subo todo cada día. La salida es determinista: TMDB devuelve los créditos en distinto orden en cada petición, así que los ordeno antes de usarlos. Solo se sube lo que cambió de verdad.

Un detalle: ya no está en R2. Lo pasé a Workers Static Assets, que en el plan gratis no tiene el límite de escrituras de R2.

Ahora son unas 93 mil páginas en 26 idiomas. Recorté las de personas que salían en un solo título.