The Password Manager is a user-friendly application that helps you securely store and manage your passwords. It features a simple and intuitive interface built with CustomTkinter and utilizes SQLite for data storage. With this app, you can add, view, edit, search, and delete your saved passwords with ease.
- Add New Passwords: Easily save passwords associated with websites, emails, and usernames.
- View Saved Passwords: Access a list of all stored passwords in a secure manner.
- Edit Passwords: Update existing passwords without creating duplicates.
- Search Passwords: Quickly find stored passwords based on website or email queries.
- Delete Passwords: Remove unwanted passwords from your database.
- Generate Strong Passwords: Automatically create secure passwords with the click of a button.
- Dark and Light Mode: Switch between different appearance modes for better user experience.
◉ Make sure you have Python 3.x installed on your system.
◉ To install the necessary dependencies, use the requirements.txt
file included in the project. You can install them using pip:
pip install -r requirements.txt
- Clone this repository to your local machine.
- Navigate to the
SRC
directory. - Run the application:
python Main.py
- Navigate to the
SRC
directory - Execute the following command in the terminal
pyinstaller --onefile --noconsole --hidden-import Database --hidden-import Exceptions --hidden-import Utilities Main.py
- Once done, head back and navigate into the
dist
directory - Click open the
Main
application and enjoy the product!
└── 📁Password-Manager
└── 📁DOCS
└── CODE_OF_CONDUCT.md
└── CONTRIBUTING.md
└── 📁SRC
└── DataBase.py
└── Exceptions.py
└── Main.py
└── Utilities.py
└── README.md
-
Enhance User Interface:
- Revise button placements and alignments for better UX.
- Add tooltips or help icons for user guidance.
- Implement a theme toggle (light/dark mode) for better accessibility.
-
Improve Functionality:
- Implement password strength validation during password creation.
- Add an option to categorize passwords (e.g., personal, work).
- Introduce tags or labels for easier organization and searchability.
- Allow exporting passwords to a CSV file for backup purposes.
-
Implement Security Features:
- Add encryption for stored passwords for enhanced security.
- Implement user authentication (master password) to access the app.
- Enable secure password generation options (length, character types).
-
Enhance Database Management:
- Implement a function to back up and restore the database.
- Create a function to audit passwords for reusability or weak passwords.
- Add data validation to ensure no duplicates are saved.
-
Unit Testing:
- Write unit tests for critical functions (e.g., database interactions, password generation).
- Set up automated testing with a CI/CD pipeline (e.g., GitHub Actions).
-
Documentation:
- Expand the README.md with a usage guide and contribution instructions.
- Create a wiki for detailed documentation on features and development guidelines.
- Document the code with clear comments and docstrings for better readability.
-
Code Refactoring:
- Review and refactor the code for better modularity and readability.
- Optimize performance in database queries and UI responsiveness.
-
User Feedback:
- Gather user feedback on the application’s usability and features.
- Implement a feedback mechanism (e.g., a form or dialog within the app).
-
Accessibility Improvements:
- Ensure the app meets accessibility standards (e.g., keyboard navigation, screen reader support).
-
Mobile Compatibility:
- Explore options for creating a mobile version of the app using frameworks like Kivy or BeeWare.
- Open the application and navigate to the "Add Password" section.
- Fill in the required fields:
- Website: Enter the name of the website or service.
- Email/Username: Enter the associated email or username.
- Password: You can either type in your password or click the "Generate" button to create a strong password automatically.
- Click on the "Save" button to store the password.
- Navigate to the "View Passwords" section.
- You will see a list of all saved passwords.
- You can use the search bar to quickly find a specific entry.
- Go to the "View Passwords" section.
- Find the password entry you wish to edit and click the "Edit" button next to it.
- Make the necessary changes and click "Save".
- In the "View Passwords" section, find the password you want to delete.
- Click the "Delete" button next to the entry.
- Confirm the deletion when prompted.
- Navigate to the "View Passwords" section.
- Use the search bar at the top to enter a website or email.
- The list will automatically filter to show matching entries.
- While adding or editing a password, click the "Generate" button next to the password field.
- The app will create a strong password for you. You can then modify it if needed before saving.
◉ We welcome contributions from everyone! Here’s how you can help:
-
Fork the Repository: Click on the "Fork" button at the top right corner of the repository page to create your copy.
-
Clone Your Fork:
git clone https://github.com/your-username/Password-Manager.git
-
Create a New Branch:
git checkout -b feature-branch-name
-
Make Your Changes: Add features, fix bugs, or improve documentation.
-
Commit Your Changes:
git commit -m "Description of your changes"
-
Push to Your Fork:
git push origin feature-branch-name
-
Submit a Pull Request: Go to the original repository and click on "New Pull Request". Provide a clear description of your changes and why you think they should be merged.
- Code Quality: Ensure your code is clean, well-documented, and follows existing project conventions.
- Issues: If you find a bug or want to suggest a feature, please open an issue to discuss it before starting work.
- Testing: If your changes involve code, please write tests to ensure it works as intended.
◉ More details on how to contribute can be found in the CONTRIBUTING.md file.
Special thanks to the developers of CustomTkinter and SQLite for providing the tools used in this application.