Aplicacion frontend desarrollada con React y CSS que consume la API externa de TMDB para mostrar informacion de peliculas de forma clara, visual y responsive.
Este proyecto nace como una migracion de una version previa construida con JavaScript, HTML y CSS hacia una arquitectura basada en React y CSS. En versiones posteriores, la capa de estilos se migrara progresivamente de CSS a SCSS para mejorar la escalabilidad y la organizacion del codigo.
La aplicacion muestra un catalogo basico de peliculas consumidas desde TMDB (The Movie Database), organizadas en cuatro categorias principales:
- En cartelera
- Proximamente
- Populares
- Mejor valoradas
El usuario puede visualizar los resultados en dos modos distintos:
- Vista
grid - Vista
list
Ademas, al hacer click sobre una tarjeta de pelicula, se accede a la vista de detalle correspondiente, donde se muestra informacion ampliada de la pelicula seleccionada.
Durante el desarrollo se ha tenido especialmente en cuenta:
- La calidad visual de la interfaz
- La experiencia de usuario
- El comportamiento responsive
- Un enfoque de diseno
desktop first
- Reestructurar el proyecto hacia una arquitectura basada en componentes reutilizables en React
- Mejorar la mantenibilidad del codigo respecto a una base inicial en JavaScript, HTML y CSS
- Facilitar la escalabilidad futura del proyecto
- Preparar la aplicacion para una futura migracion de estilos de CSS a SCSS
- React
- React Router DOM
- Vite
- CSS
- ESLint
- TMDB API
- Consumo de una API externa para obtener peliculas
- Navegacion por categorias
- Visualizacion en formato grid y lista
- Busqueda de peliculas por nombre
- Acceso al detalle individual de cada pelicula
- Carga de informacion ampliada en la pagina de detalles
- Interfaz responsive adaptada a distintos tamanos de pantalla
FRONTEND_COMPONET/
|- public/
|- src/
| |- Components/
| |- layout/
| |- Pages/
| |- Services/
| |- Styles/
| |- App.jsx
| |- App.css
| |- index.css
| |- main.jsx
|- .env
|- .gitignore
|- eslint.config.js
|- index.html
|- package.json
|- vite.config.js
- Clonar o descargar el proyecto.
- Acceder a la carpeta del frontend:
cd Movie_DataBase_Filmax_API_CALLLS- Instalar las dependencias:
npm installnpm install react react-dom react-router-dom dotenvnpm install -D vite @vitejs/plugin-react eslint @eslint/js eslint-plugin-react-hooks eslint-plugin-react-refresh globals @types/react @types/react-domPara que la aplicacion funcione correctamente, es necesario disponer de un archivo .env en la raiz del frontend con las siguientes variables:
VITE_BASE_URL=...
VITE_API_KEY=...
VITE_URL_IMAGES=...VITE_BASE_URL: endpoint base de TMDB para peliculasVITE_API_KEY: clave de acceso a la API de TMDBVITE_URL_IMAGES: URL base para construir las imagenes de posters y perfiles
Importante:
- La API key debe obtenerse desde una cuenta valida de TMDB
- No se recomienda exponer claves reales en repositorios publicos
Para iniciar el servidor de desarrollo:
npm run devLa aplicacion se levantara en el entorno local de Vite, normalmente en:
http://localhost:5173
npm run dev: inicia el servidor de desarrollonpm run build: genera la version de produccionnpm run preview: previsualiza la build de produccionnpm run lint: ejecuta el analisis estatico con ESLint
- El usuario entra en la aplicacion.
- Se cargan peliculas desde TMDB segun la categoria seleccionada.
- El usuario puede cambiar entre vista grid y vista list.
- El usuario puede buscar peliculas por nombre.
- Al hacer click en una pelicula, accede a su pagina de detalles.
- En la vista de detalle se muestra informacion ampliada, incluyendo datos adicionales como reparto.
El proyecto se ha desarrollado cuidando la calidad de la UI para ofrecer una experiencia visual clara, limpia y funcional. La maquetacion se ha planteado con un enfoque desktop first, y posteriormente se ha adaptado a resoluciones menores para mantener una correcta visualizacion en distintos dispositivos.
Components: componentes reutilizables de interfazPages: paginas principales de la aplicacionlayout: estructura general compartida entre vistasServices: configuracion de API y funciones de consumo de datosStyles: hojas de estilo del proyecto
- Migracion de los estilos de CSS a SCSS en futuras versiones
- Posible ampliacion de filtros y busquedas
- Mejora del tratamiento de errores y estados de carga
- Incorporacion de nuevas vistas o funcionalidades relacionadas con peliculas
- Node.js instalado
- npm disponible
- Conexion a Internet para consumir la API de TMDB
- Clave valida de TMDB
IOSF
Este proyecto tiene un enfoque academico y practico orientado a consolidar conceptos de:
- Migracion de proyectos a React
- Consumo de APIs externas
- Componentizacion
- Navegacion entre vistas
- Diseno responsive
- Organizacion de frontend moderna con Vite
Uso de IA
en este proyecto se a usado IA en las siguientes operativas -debugeo general de la App -resolucion de dudas y consultas tecnicas -aporte de ideas y consejos de buenas practicas -rapidas implementaciones de responsive -vibe coding en css para realizar grandes modificaciones
- y aprendizaje personal de hooks que a dia de desarrollo de esta app aun no se dominar
siendo personalmente revisadas todas ellas