Desarrollar una aplicación web de lista de tareas (TodoApp) en dos fases: primero con JavaScript puro (Vanilla JS) y luego usando un framework moderno de frontend (como React o Vue). El proyecto se desarrollará dentro de un único repositorio utilizando ramas por fase y Pull Requests como mecanismo de integración.
todoapp/
├── README.md
├── vanilla/ # Versión con JavaScript puro
└── framework/ # Versión con un framework moderno
- Instalar Visual Studio Code o IntelliJ
- Instalar Node.js y npm
- Tener cuenta en GitHub
- Aprender comandos básicos de Git:
git init,git status,git add,git commit,git pushgit checkout -b,git merge,git pull- Crear ramas y Pull Requests
-
Setup inicial
- Crear estructura básica del proyecto (
index.html,style.css,app.js) - Rama:
feature/setup-vanilla
- Crear estructura básica del proyecto (
-
Listado de ToDos
- Mostrar tareas en el DOM desde un array en memoria
- Rama:
feature/list-todos-vanilla
-
Formulario de creación
- Crear formulario para añadir nuevas tareas
- Validar que no estén vacías
- Rama:
feature/form-create-todo-vanilla
-
Estado global y persistencia
- Usar
localStoragepara guardar y recuperar tareas - Refactorizar para centralizar el manejo del estado
- Rama:
feature/state-management-vanilla
- Usar
-
Conexión con API externa
- React (con Vite o Create React App)
- Vue (con Vite)
- Svelte, Solid, etc.
-
Setup inicial
- Crear proyecto en
/frameworkcon el CLI del framework - Rama:
feature/setup-framework
- Crear proyecto en
-
Listado de ToDos
- Crear componente de listado
- Estado en memoria
- Rama:
feature/list-todos-framework
-
Formulario de creación
- Componente de formulario con validación
- Rama:
feature/form-create-todo-framework
-
Estado global
- Manejo de estado con
useState,ref, context o store - Rama:
feature/state-management-framework
- Manejo de estado con
-
Conexión con API externa
- Conexión a la misma API usada en la versión vanilla
- Manejo de errores y carga
- Rama:
feature/api-connection-framework
- Un único repositorio GitHub con las carpetas
/vanillay/framework - Pull Requests por cada fase, con descripción de cambios
- Commits claros y organizados
README.mdexplicando:- Cómo ejecutar cada versión
- Qué tecnologías se usaron
- Qué aprendiste en el proceso
- Aplicación funcional en ambas versiones
- Código limpio, modular y reutilizable
- Correcto uso de ramas y Pull Requests
- Capacidad para refactorizar y mejorar el código entre fases
- Comprensión sólida de asincronía, estado y componentes