Skip to content

urvishp13/Password-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 

Repository files navigation

Password Generator

Have you ever been in need of a password that requires all the criteria of a website? In this day and age, who hasn't? Well, here you are: a password generator application that generates premium passwords by utilizing a randomizing algorithm. Once generated, you have the ability to copy the password and paste it wherever you want. Long gone are the days where you have to take a couple minutes to think of a good password as this password generator app does the work for you. And the best part is you can use this on your phone! So, utilize this wherever you want and enjoy.

Table of contents

Overview

This project is from the Scrimba Frontend Development bootcamp, made with MANY enhancements:

Requirements
✅ Build it from "scratch" (using a Figma file)
✅ Generate 2 random passwords when the user clicks the button
✅ Each password should be 15 characters long

Stretch Goals
✅ Ability to set password length
✅ Add "copy-on-click" feature
✅ Toggle "symbols" and "numbers" on/off

My Additions
✅ Make responsive
✅ Implement personal UI design for above stretch goals
✅ Make usable on mobile devices
✅ Use my own color palette
✅ Make LIGHT/DARK/SYSTEM modes

The challenge

Generate two random passwords upon clicking a button.

Screenshot

Desktop View, Light Theme version Desktop View, Dark Theme version Mobile View, Light Theme version Mobile View, Dark Theme version

Links

Live Site: https://premium-password.netlify.app/

My process

Completed the core requirements first: wrote the HTML, then the CSS, and finally the JS. For the stretch goals and my additions, worked piece-by-piece; that is, wrote the HTML for one goal/addition, then the CSS for it, and finally the JS for that goal/addition—repeated this process until all wanted features were included.

Built with

This webapp was built with HTML, CSS, and JS.

What I learned

There is a media query that allows for system theme detection.

@media (prefers-color-scheme: dark) {}
@media (prefers-color-scheme: light) {}

When running a webpage on Firefox, the webpage's system theme is based on the browser's theme, not the Operating Systems' theme.

In order to make light/dark/system theme possible, CSS custom variables are necessary. Naming them adequately helps.

Additionally, when the color of interactive elements on the webpage are more pronounced/well contrasted from the background, the user will be more likely to click/notice them. Regarding UX, this makes the functionality of the webpage as obvious as possible. I, the developer, will be aware of all the functionalities of the webpage, but for a new user, they won't have any knowledge of what the website can do. So, the only indication of how the website can be used is through its (good) UI.

Continued development

  • Turn this project into a password diary that allows the user to store their password for each website they have an account with

Useful resources

How to implement light/dark/system themes: https://javascript.plainenglish.io/how-to-make-a-system-light-dark-theme-selector-4e70322205d7

Author

GitHub is the only resource I have right now that's associated with me.

Acknowledgments

My Mother and Uncle. I gave them this app to use to try to figure out if the UX/UI for this app is obvious, and their feedback informed me as to what alterations are necessary for the UX/UI.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published