If you want to see the project without deploying it locally, you can follow this link to GitHub Pages: https://georgedeyneka.github.io/AngularCheckPassword/
So, if you want to look at the project's code and deploy it, follow the steps below in the "Installation" section.
- Clone the repo
git clone https://github.com/GeorgeDeyneka/AngularCheckPassword.git
- Install NPM packages
npm install
- Run this command for a dev server. Navigate to
http://localhost:4200/
. The application will automatically reload if you change any of the source files.
ng serve -o
This is a simple password complexity checker app. However, it is noteworthy that I used Reactive Forms and also optimized it with RxJS.
This application was a good practice for creating custom validation as well as streamlining application form input.
In the future, perhaps, the function of saving and displaying user-created combinations on the page will be added.
- Before you start typing, you can access the hint by hovering over the question mark icon. Here are the basic rules for a valid password.
![tooltip-demo](/GeorgeDeyneka/AngularCheckPassword/raw/main/demo-images/tooltip.png)
- When you enter only letters, numbers or symbols, your password is considered simple and the corresponding field is highlighted.
![simple-password-demo](/GeorgeDeyneka/AngularCheckPassword/raw/main/demo-images/simple-pass.png)
- When you enter numbers-letters, letters-symbols, or numbers-symbols combinations, your password is considered a medium password.
- Two fields are highlighted as your value passes the complexity test of both a simple and medium password.
![middle-password-demo](/GeorgeDeyneka/AngularCheckPassword/raw/main/demo-images/middle-pass.png)
- Your password is considered strong if you combine numbers, letters and symbols at the same time.
- Because your password is complex, that's why all three fields are highlighted.
![strong-password-demo](/GeorgeDeyneka/AngularCheckPassword/raw/main/demo-images/strong-pass.png)
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
If you want to improve the project code, you need to:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Don't forget to give the project a star! Thanks again!