Clonar y leer código del proyecto freehabits

Clase 2 de 24Curso de Manipulación Avanzada de Datos con JavaScript

Resumen

Domina la manipulación de arrays en JavaScript con un proyecto real: freehabits.website. Aquí verás cómo clonar el repositorio, levantar un servidor local con Node.js y reconocer en el código los métodos de arrays más usados. Base imprescindible para roles de backend developer, frontend y data science donde las APIs y datasets suelen llegar como arrays.

¿Por qué los arrays en JavaScript son esenciales para backend, frontend y data science?

En el trabajo diario, iterar, filtrar, transformar y extraer información de arrays es una tarea constante. Las APIs entregan datos como listas y muchos datasets se estructuran igual. Por eso, dominar su manipulación acelera el desarrollo y mejora la calidad del código.

Además, una habilidad crítica es leer código existente. Entender cómo un proyecto usa arrays permite mejorar funcionalidades y evitar errores al agregar nuevas características.

  • Operar arrays para agregar, buscar, eliminar y ordenar datos.
  • Leer y comprender código de terceros con rapidez.
  • Conectar flujos: clonar, correr local, abrir en editor y explorar.

¿Cómo clonar freehabits y ejecutar el proyecto en un servidor local?

El proyecto base es freehabits, un manejador de hábitos creado en programación orientada a objetos por el profesor Óscar Barajas. La meta: familiarizarse con el repositorio y preparar el entorno para iterar y transformar arrays con técnicas avanzadas.

¿Qué prerequisitos necesitas con Node.js y npm?

Asegura tener Node.js instalado y verifícalo en la terminal con el comando node version. Luego instala un servidor local simple para desarrollo con npm de forma global.

# Clonar el repo por HTTPS o SSH git clone <URL_DEL_REPO> # Entrar a la carpeta cd <CARPETA_DEL_REPO> # Verificar ubicación y archivos pwd ls -la # Instalar un servidor local npm -g install http-server # Ejecutar el servidor en el folder actual http-server .
  • El servidor buscará por defecto el archivo index.html.
  • Se abrirá en un puerto local para probar la app.

¿Cómo verificar archivos y abrir el proyecto?

Desde la terminal podrás ver los logs: cada navegación solicita los archivos de JavaScript y estilos necesarios. También puedes abrir el index.html directamente desde el sistema de archivos si lo prefieres.

  • Mantén el servidor corriendo en una pestaña de la terminal.
  • Usa otra pestaña para operar comandos del proyecto.

¿Con qué editor leer y reconocer el código fuente?

Abre el proyecto en tu editor favorito: VS Code, Cursor o Windsurf. El archivo clave es app.js. La tarea inmediata es buscar dónde se usan los métodos de arrays para entender la lógica actual y planear mejoras.

  • Usa la búsqueda del editor para localizar métodos.
  • Revisa validaciones, creación de hábitos y ordenamientos.

¿Qué métodos de arrays se usan en el repositorio y para qué sirven?

En el código ya aparecen varios métodos fundamentales. Identificarlos aclara el flujo de datos y te prepara para extender la funcionalidad.

  • push: agrega un elemento al final del array.
  • find: busca y devuelve el primer elemento que cumpla una condición.
  • findIndex: en vez del elemento, devuelve la posición donde se encuentra.
  • splice: elimina elementos del array dada una posición y cantidad.
  • forEach: itera ejecutando una función por cada elemento.
  • map: transforma los elementos y devuelve un nuevo array.
  • sort: ordena los elementos según una comparación definida.

Estas operaciones cubren acciones clave: agregar, buscar, eliminar, iterar, transformar y ordenar. El objetivo siguiente es profundizar y combinarlas para resolver necesidades reales dentro de freehabits.

  • Explora el README para el contexto del proyecto.
  • Localiza en app.js los puntos donde cada método impacta la UI y los datos.
  • Observa cómo el servidor local solicita scripts y estilos al navegar.

¿Ya clonaste el repo y encontraste estos métodos en app.js? Comparte en los comentarios qué uso te pareció más útil o qué parte te gustaría optimizar con arrays avanzados.