Ejercicio de programación con TypeScript: Proyecto generador de contraseñas

Proyecto
Puntuación
2h 0m

Desarrolla un generador de contraseñas con TypeScript, personalizando longitud y tipos de caracteres para mayor seguridad.

  1. Configura un nuevo proyecto TypeScript creando los archivos necesarios: index.html, styles.css, app.ts y tsconfig.json. En el archivo de configuración TypeScript, habilita las opciones estrictas y configura la salida a ES2015 o superior.

  2. Diseña la interfaz HTML básica que incluya:

  • Un control para seleccionar la longitud de la contraseña (input type="range" o input type="number")
  • Casillas de verificación para cada tipo de carácter (minúsculas, mayúsculas, números, símbolos)
  • Un botón para generar la contraseña
  • Un área para mostrar la contraseña generada
  • Un botón para copiar la contraseña al portapapeles
  • Un indicador visual para la fortaleza de la contraseña
  1. Crea una clase PasswordGenerator en TypeScript que encapsule la lógica de generación de contraseñas. Esta clase debe tener:
  • Propiedades para la longitud y los tipos de caracteres a incluir
  • Un método para generar contraseñas aleatorias basadas en los parámetros configurados
  • Un método para evaluar la fortaleza de una contraseña
  1. Implementa la lógica para generar contraseñas aleatorias utilizando los conjuntos de caracteres seleccionados. Asegúrate de que la contraseña generada incluya al menos un carácter de cada tipo seleccionado.

  2. Desarrolla la función que evalúa la fortaleza de la contraseña basándose en criterios como longitud y variedad de caracteres. Clasifica las contraseñas como débiles, medias o fuertes.

  3. Implementa la funcionalidad para copiar la contraseña generada al portapapeles utilizando la API del navegador.

  4. Añade validación para asegurar que el usuario seleccione al menos un tipo de carácter antes de generar una contraseña. Muestra mensajes de error apropiados cuando sea necesario.

  5. Crea una clase UIController que maneje la interacción entre la interfaz de usuario y la clase PasswordGenerator, siguiendo el patrón MVC.

  6. Implementa el manejo de eventos para los elementos de la interfaz, conectando los controles con las funciones correspondientes de generación de contraseñas.

  7. Añade estilos CSS para mejorar la apariencia de la aplicación y proporcionar feedback visual al usuario (como cambiar el color del indicador de fortaleza según el nivel).

Empezar ejercicio de programación

Más ejercicios de programación con TypeScript

Evalúa tus conocimientos en TypeScript con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub