April 4, 2022
What inspired this app?
I needed basic practice working on Python/Django apps. There is nothing profound going on with this app. It was just me testing out and putting into practice various Django concepts.
About the app
This project is just a basic random password generator. It was a solo project built on Python/Django. It takes multiple inputs for the type of password you may be looking for and then generates a random string based on the parameters you chose. For example how many characters, what kind of characters, numbers, uppercase letters, and symbols. It does not save anything, just prints out the string and offers to copy it. For the design, I didn't overthink it. I just used Bootstrap. I used the default colors and layouts.
Challenges with this app
The project was pretty basic so I didn't really run into too many issues. Honestly, the most challenging thing was just creating an intuitive design. A design that was simple and not overly complicated. It ended up being more of a project working with Bootstrap then Django.
So for a more intuitive design, my thinking was to have it spit out the password string in larger text at the top and stick out. The options I wanted to be in 2 columns, at least on a desktop. All the options are short and simple and it just made sense to make things as compact as sensibly possible. Also, I gave it default options of 12 characters long and it generates the password automatically without having to press generate.
One thing I would add if I worked on the project more would be to make sure the generated string includes the specific options. For example, if I chose a password of only 6 characters long and gave it an option to include symbols it generates a random string from a pool of characters. Well, the random string might randomly pick all the characters that are not symbols even though they are in the pool of available characters. The way I would probably solve this problem is by just running a check on the string and checking if it includes at least one character from all the options selected. If it does not then just generate another string and run the check again.
It would also be nice to have it automatically generate a new password every time you change one of the options. Currently, if you change any of the options you have to manually press generate a new password. That would definitely make the design more intuitive.