Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 MovieTime

Buscá tus películas favoritas en tiempo real. Una SPA liviana en JavaScript puro que consume la API de TMDb para explorar el catálogo de películas populares.

Demo HTML5 CSS3 JavaScript TMDb API


Vista previa de MovieTime mostrando el grid de películas populares

📑 Contenido


📖 Sobre el proyecto

Es viernes a la noche y no sabés qué película ver. Abrís cuatro pestañas distintas, cada una con un catálogo diferente y ninguna búsqueda que realmente filtre mientras escribís.

MovieTime resuelve ese momento puntual: un buscador liviano, sin frameworks, que trae el catálogo de populares de TMDb y te deja filtrarlo en tiempo real, con paginación y feedback visual inmediato. Lo construí para dominar de punta a punta el consumo de APIs REST, la manipulación del DOM y el manejo de estado sin librerías — la base sobre la que después construí todo lo demás.

Fue uno de mis primeros proyectos como programador, y lo sigo manteniendo tal cual está porque me gusta poder mirar atrás y ver de dónde salí.

🚀 Demo

→ movietim.netlify.app

✨ Funcionalidades

🔍 Búsqueda en tiempo real que filtra el listado mientras escribís
🖼️ Tarjetas de película con póster, título y rating (vote average)
⏭️ Paginación (anterior / siguiente) sobre el catálogo de populares
🔔 Notificaciones toast (éxito / error) con Toastify
👀 El título de la pestaña cambia para llamar la atención cuando salís de la página

🔧 Instalación

# Cloná el repositorio
git clone https://github.com/Juanma-Alvarado/MovieTime.git
cd MovieTime

# Conseguí tu propia API key gratuita en https://www.themoviedb.org/settings/api
cp .env.example .env
# pegá tu key en .env, después generá config.js a partir de ella (ver Seguridad)
./generate-config.sh

# Serví el proyecto con cualquier servidor estático, por ejemplo:
npx serve .
# o simplemente abrí index.html en el navegador

🏗️ Cómo está construido

  • HTML5 + CSS3 — estructura y estilos, sin frameworks de UI.
  • JavaScript (ES6+) — fetch a la API, renderizado dinámico del DOM, filtrado de búsqueda.
  • TMDb API — fuente de datos de películas.
  • Toastify JS — notificaciones no bloqueantes.

📚 Recursos útiles

🔒 Seguridad

Este proyecto es 100% frontend (sin backend), así que la API key de TMDb siempre va a ser visible para cualquiera que abra las devtools del navegador — TMDb no ofrece restricción de key por dominio (a diferencia de, por ejemplo, Google Maps), así que no hay forma de ocultarla del todo sin agregar un servidor intermedio.

Por eso la key vive en .env (gitignored, nunca se commitea) y config.js se genera a partir de ella:

  • En local, con ./generate-config.sh.
  • En Netlify, en cada deploy, a partir de la variable de entorno TMDB_API_KEY configurada en el dashboard del sitio (ver netlify.toml).

Así la key nunca queda escrita en el historial de git a futuro, y se trata como una key de demo, de solo lectura, regenerable desde el dashboard de TMDb sin tocar el resto del código.

👤 Autor

Juan Manuel Alvarado — Data Analyst Jr. & Data Scientist Jr. GitHub · Portfolio

About

🎬 SPA en JavaScript puro para buscar películas en tiempo real consumiendo la API de TMDb.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages