Este es un proyecto realizado como parte del bootcamp de 4Geeks Academy. Es una aplicación tipo blog donde se listan y detallan distintos elementos del universo de Star Wars (personajes, planetas, vehículos, etc.).
La app consume datos desde una API y permite al usuario:
- Visualizar ítems organizados por categoría en la página principal.
- Hacer clic sobre un ítem para ver su detalle completo.
- Buscar elementos a través de una barra de búsqueda inteligente.
- Navegar fluidamente gracias a React Router.
- Disfrutar de una experiencia visual temática con imágenes SVG, fondo animado de estrellas y diseño responsive.
El estado global se maneja con useReducer y Context API, encapsulado en hooks personalizados como useGlobalReducer. Los datos se cargan de forma asincrónica con hooks como useLoadData y useAllCategoryItems.
Adrián MRC
Proyecto del curso Full Stack Developer en 4Geeks Academy.
- React (última versión)
- Vite (empaquetador y servidor de desarrollo)
- React Router (para navegación entre páginas)
- Custom Hooks (
useLoadData,useGlobalReducer, etc.) - Vercel (despliegue gratuito)
-
Clona el repositorio:
git clone https://github.com/4GeeksAcademy/Blog-StarWars-AdrianMRC.git cd Blog-StarWars-AdrianMRC -
Asegúrate de tener Node.js v20 o superior.
-
Instala las dependencias:
npm install
-
Inicia el servidor de desarrollo:
npm run dev
Accede en
http://localhost:3000.
src/
├── App.jsx # Componente raíz
├── assets/img/ # Recursos gráficos
├── components/ # Componentes reutilizables
├── hooks/ # Hooks personalizados
├── pages/ # Páginas principales
├── routes.jsx # Rutas de la app
├── store.js # Estado global con useReducer
├── main.jsx # Punto de entrada
└── index.css # Estilos globales-
Instala Vercel CLI y haz login:
npm i -g vercel vercel login
-
Despliega:
vercel --prod
Proyecto bajo la licencia MIT. Puedes usarlo, modificarlo y distribuirlo libremente.