Skip to content

WorldRanks es una aplicación web que muestra información sobre todos los países del mundo. Permite explorar países, filtrarlos por diferentes criterios y ver información detallada de cada uno, incluyendo sus países vecinos.

Notifications You must be signed in to change notification settings

Mooenz/react-countries-page

Repository files navigation

WorldRanks | devChallenges

Solution for a challenge Country Page - WorldRanks from devChallenges.io.

Table of Contents

Overview

screenshot

WorldRanks es una aplicación web que muestra información sobre todos los países del mundo. Permite explorar países, filtrarlos por diferentes criterios y ver información detallada de cada uno, incluyendo sus países vecinos.

What I learned

Durante el desarrollo de este proyecto, adquirí y reforcé conocimientos importantes:

🐻 Zustand - Manejo de estado global

Aprendí a implementar una store con Zustand para manejar el estado global de la aplicación. Zustand me permitió crear un store simple y eficiente para gestionar los filtros de búsqueda (texto, región, estado) de forma centralizada, evitando el prop drilling y manteniendo el código limpio:

// Ejemplo de implementación de store
import { create } from 'zustand';

const useFilterStore = create((set) => ({
	filters: { text: '', region: [], status: [] },
	setFilter: (key, value) =>
		set((state) => ({
			filters: { ...state.filters, [key]: value },
		})),
}));

⚛️ React + React Router

Afiancé el uso de React para construir aplicaciones web interactivas. Implementé React Router para:

  • Manejar las diferentes vistas de la aplicación (listado y detalle de país)
  • Utilizar parámetros dinámicos (/:name) para obtener y mostrar el contenido específico de cada país
  • Configurar rutas con lazy loading para optimizar el rendimiento

🎨 Animaciones con Tailwind

Implementé la librería tailwind-animations para agregar transiciones suaves al mostrar:

  • La lista de países al cargar la página
  • Los resultados filtrados cuando el usuario aplica filtros
  • Mejorando la experiencia de usuario con feedback visual

Useful resources

Built with

Features

  • 🌍 Listado de países: Visualiza todos los países del mundo con su bandera, nombre, población, área y región.
  • 🔍 Búsqueda por texto: Filtra países por nombre.
  • 📊 Ordenamiento: Ordena países por población, nombre, área o región.
  • 🗺️ Filtro por regiones: Filtra por continentes (Americas, Africa, Asia, Europe, Oceania, Antarctic).
  • Filtro por estado: Filtra por países independientes o miembros de la ONU.
  • 📄 Página de detalle: Información completa de cada país incluyendo:
    • Bandera
    • Nombre oficial y común
    • Población y área
    • Capital
    • Subregión
    • Idiomas
    • Monedas
    • Continente
    • Países vecinos
  • Lazy Loading: Carga diferida de páginas para mejor rendimiento.
  • 📱 Diseño responsivo: Adaptable a diferentes tamaños de pantalla.

How to use

Para clonar y ejecutar esta aplicación, necesitas Git y Node.js instalados. Se recomienda usar pnpm como gestor de paquetes.

# Clonar el repositorio
git clone https://github.com/Mooenz/react-countries-page.git

# Entrar al directorio
cd react-countries-page

# Instalar dependencias
pnpm install

# Ejecutar en modo desarrollo
pnpm dev

# Compilar para producción
pnpm build

# Previsualizar build de producción
pnpm preview

Acknowledgements

Author


About

WorldRanks es una aplicación web que muestra información sobre todos los países del mundo. Permite explorar países, filtrarlos por diferentes criterios y ver información detallada de cada uno, incluyendo sus países vecinos.

Topics

Resources

Stars

Watchers

Forks