Generador de contraseñas robustas creado con Angular, útil para practicar componentes, servicios, bindings y lógica algorítmica.
- Características
- Requisitos
- Instalación
- Uso
- Lógica de generación
- Arquitectura & Estilo
- Mejoras sugeridas
- Contribuciones
- Licencia
- Genera contraseñas seguras con opciones de longitud, mayúsculas, números y símbolos.
- Copia al portapapeles con un clic.
- Indicador de fuerza visual o textual (opcional).
- Interfaz sencilla, usable y responsiva. ([github.com][1], [github.com][2])
- Node.js ≥ 14
- Angular CLI instalada globalmente (
npm i -g @angular/cli)
git clone https://github.com/FrancoDavid/generate-password-angular.git
cd generate-password-angular
npm installng serveLuego abre http://localhost:4200.
Interfaz típica:
- Selector deslizante para longitud.
- Checkboxes para incluir mayúsculas, números y símbolos.
- Botón “Generar” que crea la contraseña.
- Botón “Copiar” para copiar al portapapeles.
Implementa dos columnas clave:
- Algoritmo de generación: arma un array
availableCharsuniendo subconjuntos (mayúsculas, minúsculas, números y símbolos), y recorre para tomar caracteres aleatorios ([jasonwatmore.com][3]). - Validación / Fuerza: calcula fuerza según variedad de tipos de caracteres; podría mostrarse mediante barra o texto.
-
Componentes:
PasswordGeneratorComponent: genera y muestra la contraseña.LengthSliderComponent: elige la longitud.OptionsCheckboxComponent: controla las opciones de caracteres.StrengthIndicatorComponent(opcional): muestra nivel de seguridad.
-
Services:
PasswordService: lógica central de construcción de contraseña.ClipboardService: maneja compatibilidad con copiar al portapapeles.
-
Bindings Angular:
(click),[ngModel],@Input()y@Output()para interacción fluida. ([github.com][1])
-
Estilo: minimalista, con Bulma o Tailwind (CSS modular según preferencia).
- Indicador de fuerza más avanzado o integración con material angular.
- Validación visual si faltan tipos de caracteres.
- Persistencia en
localStorage. - Tests unitarios con Jasmine y Karma.
- Localizador de caracteres excluidos, símbolos adicionales.
- Despliegue en GitHub Pages o Vercel.
Si te interesa mejorar este proyecto:
- Haz fork del repo.
- Crea una rama:
feature/nueva-funcionalidad. - Añade tu función con commits descriptivos.
- Abre un PR explicando tu aporte.
Distribuido bajo licencia MIT — revisa LICENSE para más detalles.