01 · CRUD de usuarios
Este será nuestro primer proyecto para aprender a desarrollar productos con IA. Comenzaremos con una funcionalidad pequeña y útil para comprender las bases del desarrollo web: modelos, base de datos, validaciones, rutas, controladores y vistas. Después podremos incorporar funcionalidades inteligentes sobre esta base.
La primera versión no incluirá autenticación ni autorización. El objetivo inicial es concentrarnos en el flujo principal de administración de usuarios y en construir una aplicación clara, mantenible y fácil de ampliar.
En una frase: un monolito web en Ruby on Rails que permite crear, consultar, editar y eliminar usuarios guardados en PostgreSQL.
Sobre el proyecto
Problema
Cuando la administración de usuarios se realiza manualmente o no existe una herramienta centralizada, pueden aparecer registros repetidos, emails incorrectos, datos incompletos y dificultades para encontrar la información. Además, los datos pueden perderse si no existe una base de datos persistente.
Solución
Crearemos un CRUD de usuarios con Rails dentro de un monolito web. La aplicación tendrá rutas, controladores, modelos y vistas ERB dentro del mismo proyecto.
PostgreSQL almacenará los datos de forma persistente, mientras Active Record facilitará la comunicación entre Rails y la base de datos. Rails validará la información antes de guardarla, impedirá emails duplicados y mostrará mensajes claros para que la persona pueda corregir cualquier error.
Funcionalidades
| Funcionalidad | Descripción |
|---|---|
| Listar usuarios | Como usuario, debo poder consultar todos los usuarios registrados en una tabla. |
| Ver detalle | Como usuario, debo poder seleccionar un registro y consultar toda su información. |
| Crear usuario | Como usuario, debo poder registrar un nuevo usuario con nombre, email y edad. |
| Editar usuario | Como usuario, debo poder actualizar la información de un usuario existente. |
| Eliminar usuario | Como usuario, debo poder eliminar un usuario y confirmar la acción antes de ejecutarla. |
| Validar información | Como usuario, debo recibir un mensaje cuando el nombre, email o edad no sean válidos. |
| Evitar duplicados | Como usuario, no debo poder registrar un email que ya exista. |
| Mostrar mensajes | Como usuario, debo saber si una operación fue exitosa o si ocurrió un error. |
Tecnologías
Codex acompañará el diseño, desarrollo y documentación del proyecto. Rails será el framework del monolito, ERB renderizará las vistas, Active Record gestionará la persistencia y PostgreSQL almacenará los datos.