Inspiration
We wanted to get more hands on experience with python and its libraries
What it does
When a certain number of characters is entered it provides a unique password
How we built it
We used Python to develop the application. Libraries used were tkinter and customtkinter. Customtkinter is a library that improves user experience due to its beautiful look and feel. It provides widgets for modern application UIs.
Challenges we ran into
Developing a password generator app using Python tkinter presented some challenges. Here are a few examples of challenges that we encountered during the development process: Designing the User Interface: Designing an intuitive and user-friendly interface was quite a challenging task. We need to experiment with different layouts, widgets, and colors to achieve the desired look and feel. Validating User Input: Validating user input is an essential aspect of developing a password generator app. We needed to ensure that the input data is valid and within the acceptable range of values. If the input data is invalid, we need to handle the error gracefully. Generating Random Passwords: Generating a secure and random password was challenging. You need to ensure that the password contains a mix of characters (letters, numbers, and special characters) and is not easily guessable.
Handling Exceptions and Errors: Our code encountered unexpected errors /exceptions during the execution. We need to handle these errors gracefully and provide meaningful error messages to the user. Testing and Debugging: We need to ensure that our code was free from errors and works as expected under different scenarios and inputs. Overall, developing a password generator app presented several challenges, including designing the user interface, validating user input, generating secure passwords, ensuring password security, handling exceptions and errors, and testing and debugging your code.
Accomplishments that we're proud of
We were able to accomplish all the tasks we chose. Building the application from scratch was quite challenging but we still managed to accomplish.
What we learned
Developing an app like a password generator using Python tkinter involves several learning opportunities. Here are some things we have learned:
GUI programming: Developing a graphical user interface (GUI) using a library like tkinter involves learning about GUI programming concepts, such as widgets, layouts, and event-driven programming.
User input handling: To generate a password based on user input, we need to learn how to handle user input in Python, such as retrieving data from text entry widgets and validating input data.
Randomization: Generating a random password requires knowledge of the random module in Python and its methods for generating random numbers and sequences.
String manipulation: Manipulating strings is an essential skill for developing a password generator, such as concatenating strings, converting between uppercase and lowercase, and selecting characters from a string.
Data security: Developing a password generator app involves learning about data security concepts, such as password strength, and password storage.
Software development best practices: Developing a Python app helped us understand software development best practices, such as writing clean, readable, and maintainable code, using version control systems like Git, and testing code.
Overall, developing a password generator using Python tkinter provides an opportunity to learn about GUI programming, user input handling, randomization, string manipulation, data security, and software development best practices.
What's next for Password-Generator
To save generated passwords in a database: We would add a feature that allows the user to save the generated passwords to a database. This would be useful for users who need to generate multiple passwords for different accounts.
Develop a password manager: we could expand your project to create a full-fledged password manager. This would involve adding features such as the ability to store and retrieve passwords for different accounts, and the ability to generate and save new passwords.
Add more customization options: This involves the user the ability to customize the password generation process. For example, they could choose to exclude certain characters or include specific patterns in the password.
Log in or sign up for Devpost to join the conversation.