Desarrolla tu propia plataforma de
administración de usuarios con JavaScript
y Node.js
Enunciado:
En este proyecto, tendrás que construir tu propia plataforma de administración de usuarios
desde cero. Utilizando las potentes herramientas de JavaScript y Node.js, crearás un sistema
completo de autenticación y gestión de usuarios.
Tu misión será desarrollar un sistema de login seguro que permita a los usuarios registrarse e
iniciar sesión en la plataforma. Pero eso es solo el comienzo. Una vez autenticados, los usuarios
podrán acceder a un sistema mantenedor de usuarios, donde podrán crear, ver, actualizar y
eliminar perfiles de usuario de manera eficiente.
Para llevar a cabo este desafío, deberás diseñar y construir una interfaz web atractiva y fácil de
usar utilizando HTML5 y CSS3. Además, implementarás la lógica del servidor utilizando Node.js,
creando rutas para manejar las solicitudes HTTP y estableciendo una conexión segura con una
base de datos MySQL.
Para esto deberás de trabajarás sin la ayuda de frameworks, lo que te permitirá comprender a
fondo los conceptos fundamentales y adquirir habilidades valiosas en programación web desde
cero.
Desafío: Sistema de Login y Mantenedor de Usuarios
Objetivo:
Implementar un sistema de login de usuario y un mantenedor de usuarios con operaciones
CRUD (Crear, Leer, Actualizar y Eliminar) utilizando las siguientes tecnologías:
JavaScript
Node.js
HTML5
CSS3
MySQL
Requisitos del Proyecto:
1. Configuración del Entorno:
o Instalar Node.js y npm (Node Package Manager).
o Crear un nuevo proyecto Node.js con una estructura de carpetas organizada (por
ejemplo, src para el código fuente y public para los archivos estáticos).
o Instalar las dependencias necesarias, como el paquete mysql para conectar con la
base de datos MySQL.
2. Configuración de la Base de Datos MySQL:
o Crear una nueva base de datos en MySQL.
o Crear una tabla usuarios para almacenar los datos de los usuarios (por ejemplo, id,
nombre, email, contraseña).
o Insertar algunos datos de prueba en la tabla usuarios.
3. Implementación del Servidor Node.js:
o Crear un archivo principal (por ejemplo, app.js o server.js) y configurar un servidor
web básico utilizando el módulo http de Node.js.
o Implementar rutas para manejar solicitudes HTTP (por ejemplo, /login, /usuarios,
/usuarios/:id).
o Desarrollar la lógica para manejar solicitudes y respuestas, incluyendo la conexión a
la base de datos MySQL y la ejecución de consultas SQL.
4. Implementación del Sistema de Login:
o Crear una ruta para manejar la solicitud de login (por ejemplo, /login).
o Implementar la lógica para validar las credenciales del usuario (comparar el email y
la contraseña ingresados con los datos en la base de datos).
o Si las credenciales son válidas, generar una respuesta adecuada (por ejemplo,
redirigir al usuario a la página principal o al sistema mantenedor de usuarios).
5. Implementación del Sistema Mantenedor de Usuarios:
o Crear rutas para manejar las operaciones CRUD sobre los usuarios:
Crear usuario (POST /usuarios): Insertar nuevos usuarios en la base de
datos.
Leer usuarios (GET /usuarios): Obtener y enviar todos los usuarios en
formato JSON.
Actualizar usuario (PUT /usuarios/): Actualizar los datos de un usuario
específico.
Eliminar usuario (DELETE /usuarios/): Eliminar un usuario de la base de
datos.
6. Implementación de la Interfaz de Usuario:
o Crear archivos HTML y CSS para la página de login y el sistema mantenedor de
usuarios.
o Utilizar JavaScript para manejar eventos y enviar solicitudes HTTP al servidor
Node.js (mediante XMLHttpRequest o la API fetch).
o Manejar las respuestas del servidor y actualizar la interfaz de usuario según
corresponda.
7. Pruebas y Depuración:
o Probar el sistema de login y el mantenedor de usuarios con diferentes casos de uso.
o Depurar y solucionar cualquier error o problema que se presente.
Rúbrica de Evaluación del Proyecto de Desarrollo Web
Criterio 1: No 2: 3: Implementado 4: Implementado 5:
Implementad Implementado Completo con Completo con Implementado
o (0 puntos) con Errores Errores Errores Menores, Completo sin
Mayores, Fundamentales, Funcional Errores,
Incompleto (2 No Funcional (5 Parcialmente (7 Funcional (10
puntos) puntos) puntos) puntos)
Sistema de No se Sistema de login Sistema de login Sistema de login Sistema de login
Login implementó el implementado implementado pero implementado con implementado
sistema de con errores con errores críticos errores menores correctamente y
login. mayores o que impiden la que afectan funcional.
incompleto. funcionalidad. parcialmente la
funcionalidad.
Implementa No se Crear Crear Crear Crear
crear implementaron implementado implementado pero implementado con implementado
usuario las operaciones con errores con errores críticos errores menores correctamente y
CRUD. mayores o que impiden la que afectan funcional.
incompleto. funcionalidad. parcialmente la
funcionalidad.
Implementa No se Mostrar Mostrar Mostrar Mostrar
Mostrar implementaron implementado implementado pero implementado con implementado
usuario las operaciones con errores con errores críticos errores menores correctamente y
mostrar. mayores o que impiden la que afectan funcional.
incompleto. funcionalidad. parcialmente la
funcionalidad.
Implementa No se actualizar actualizar actualizar actualizar
actualizar implementaron implementado implementado pero implementado con implementado
usuario las operaciones con errores con errores críticos errores menores correctamente y
actualizar. mayores o que impiden la que afectan funcional.
incompleto. funcionalidad. parcialmente la
funcionalidad.
Implementa No se CRUD CRUD CRUD CRUD
crear implementaron implementado implementado pero implementado con implementado
usuario las operaciones con errores con errores críticos errores menores correctamente y
CRUD. mayores o que impiden la que afectan funcional.
incompleto. funcionalidad. parcialmente la
funcionalidad.
Implementa No se actualizar actualizar actualizar actualizar
eliminar implementaron implementado implementado pero implementado con implementado
usuario las operaciones con errores con errores críticos errores menores correctamente y
actualizar. mayores o que impiden la que afectan funcional.
incompleto. funcionalidad. parcialmente la
funcionalidad.
Interfaz de No se creó la Interfaz creada Interfaz creada Interfaz creada con Interfaz creada
Usuario interfaz de con errores pero con errores errores menores correctamente y
(HTML/CSS) usuario. mayores o críticos que que afectan funcional.
incompleta. impiden la parcialmente la
funcionalidad. funcionalidad.
JavaScript No se Manejadores de Manejadores de Manejadores de Manejadores de
para implementaron eventos eventos eventos eventos
Eventos manejadores implementados implementados implementados implementados
HTTP de eventos. con errores pero con errores con errores correctamente y
mayores o críticos que menores que funcionales.
incompletos. impiden la afectan
funcionalidad. parcialmente la
funcionalidad.
Pruebas de No se Pruebas Pruebas completas Pruebas completas Pruebas
funcionalida realizaron realizadas de pero con errores con errores completas sin
d y pruebas ni manera críticos que menores que errores y
Depuración depuración. incompleta o con impiden la afectan funcionalidad
errores funcionalidad. parcialmente la confirmada.
significativos. funcionalidad.