-
Notifications
You must be signed in to change notification settings - Fork 0
Challenge
Crear una aplicación básica de lista de tareas que demuestre conocimientos fundamentales de Git, JavaScript, Node.js y React.
Crear un repositorio público en GitHub (o similar) para el proyecto.
Crear una carpeta para el backend.
Y otra carpeta para el frontend.
Crear un servidor básico con Express.
Implementar los siguientes endpoints:
- GET /api/tasks - Obtener todas las tareas.
- POST /api/tasks - Crear una nueva tarea.
- PUT /api/tasks/:id - Actualizar una tarea existente.
- DELETE /api/tasks/:id - Eliminar una tarea.
Usar un array en memoria como almacenamiento temporal.
Implementar manejo básico de errores.
Crear una aplicación de React con Vite (o similar).
Implementar los siguientes páginas/componentes (usando algún router)
- TaskList - Muestra la lista de tareas
- TaskItem - Muestra una tarea individual
- TaskForm - Formulario para crear/editar tareas
Implementar llamadas a la API de express usando fetch
Configurar variables de entorno tanto para la api como el frontend
Usar CSS básico para darle estilo a la aplicación
- Estructura recomendada de una tarea
No es necesario que esté perfecto pero debe funcionar adecuadamente y se debe demostrar conocimientos básicos de las tecnologías descriptas. Vamos a tener en cuenta:
Que la funcionalidad básica esté completa (crear, leer, actualizar y eliminar tareas).
Utilizaremos la configuración recomendada de Eslint para evaluar el código.
Que se haya hecho uso correcto básico de Git para el ecosistema de Node.js.
Manejo adecuado de estado en React en componentes funcionales mediante hooks.
Implementación correcta de la API en Node.js.
Que no se haya usado ChatGPT o similar para la total creación del código.
Esto tiene que ser una demostración de lo que cada uno sabe de las tecnologías mencionadas.
Cualquier otra característica que deseen agregar es bienvenida.
Algunas ideas:
- NextJS en vez de React y Express
- Filtros para mostrar tareas completadas/pendientes
- Validación de formularios
- Persistencia con sqlite3
- Funcionalidad de búsqueda
- Usar TypeScript en lugar de JavaScript
- Utilizar Tailwind o Bootstrap para los estilos, o SASS.
Incluí las instrucciones para ejecutar la aplicación localmente en el README.md
Incluí screenshots de la aplicación funcionando en el README.md