Skip to content

Repository files navigation

Password Manager & Generator

A secure and modern desktop application built with Python and Flet that allows users to generate strong passwords, evaluate the strength of existing ones, and manage credentials locally.

🚀 Features

1. Password Generator

  • Customizable Security: Generate passwords with specific requirements including:

  • Numbers

  • Capital Letters

  • Small Letters

  • Punctuation/Symbols

  • Adjustable Length: Define the exact number of characters for your password.

  • One-Click Save: Directly save generated passwords to your local database with a website name and link.

2. Password Strength Evaluator

  • Real-Time Analysis: Switch to "Evaluation" mode to type in a password and instantly check its strength.
  • Visual Feedback: Provides a percentage score and color-coded indicators (Red to Green) to represent security levels.

3. Password Manager

  • Local Database: View all your saved credentials in a structured Data Table.
  • Management: easily delete obsolete or compromised passwords.
  • Dark Mode UI: Features a sleek, responsive interface with radial gradient backgrounds and smooth animations.

🛠️ Built With

  • Flet - The framework used for the UI.
  • password_strength - Library used for calculating password complexity.
  • json - Used for local data storage.

📂 Project Structure

  • Main.py: The entry point of the application, managing navigation between the Generator and Manager views.
  • first_interface.py: Contains the UI logic for the Password Generator and Strength Evaluator.
  • Second_interface.py: Contains the UI logic for the Password Manager (Data Table).
  • Buttons_func.py: Handles the core logic for buttons (Generate, Save, Clear) and strength calculation.
  • Json_file.py: Manages the CRUD operations (Create, Read, Delete) for the Passwords.json file.
  • DT_Handling.py: specific logic for populating and updating the Data Table rows.

📦 Installation & Setup

  1. Clone the repository:
git clone https://github.com/youssef3082004/password_manager.git
cd password_manager
  1. Install dependencies:
pip install flet password_strength
  1. ⚠️ Configuration (Important): The application currently uses absolute paths for the database file. You must update the file paths in the code to match your local directory structure before running the app.
  • **Open Json_file.py**: Update the path inside open() functions (lines 8, 10, 21, 35, 43) to point to your Passwords.json location.
  • **Open DT_Handling.py**: Update the path inside the Show_data function (line 12).

Example change:

# Change this:
with open(r"D:\python\Python Projects\Password Generator\Passwords.json", "r") as file:

# To this (relative path recommended):
with open("Passwords.json", "r") as file:
  1. Create the Database File: Create an empty file named Passwords.json in your project directory with the following initial structure:
{
  "passwords": []
}

💻 Application Screen

Demo Image Demo Image

▶️ Usage

Run the application:

python Main.py
  • Use the Navigation Menu (top-left icon) to switch between the "Password Generator" and "Password Manager".
  • In the Generator, toggle the Radio button to switch between "Generate" and "Evaluation" modes.

📜 License

This project is open-source and available for use and modification.

About

A secure and modern desktop application built with Python and Flet that allows users to generate strong passwords, evaluate the strength of existing ones, and manage credentials locally.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages