diff --git a/Cargo.toml b/Cargo.toml index d959642..b05d65a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,16 +1,17 @@ [package] name = "password-generator" version = "0.1.0" +edition = "2021" license-file = "LICENSE" +readme = "README.md" repository = "https://github.com/sdanialraza/password-generator" rust-version = "1.76.0" -edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] copypasta = "0.10.1" -eframe = { version = "0.26.2", features = ["persistence"] } +eframe = { features = ["persistence"], version = "0.26.2" } rand = "0.8.5" serde_json = "1.0.114" diff --git a/README.md b/README.md new file mode 100644 index 0000000..f02bd26 --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# 🔒 Password Generator + +[![CI Tests](https://github.com/sdanialraza/password-generator/actions/workflows/tests.yml/badge.svg)](https://github.com/sdanialraza/password-generator/actions/workflows/tests.yml) + +A cross-platform password generator application that can generate passwords with a length of up to 50 characters. + +You can also choose whether to include uppercase letters, lowercase letters, numbers, and special characters in the password. + +By default, it generates a password with a length of **10** characters and includes uppercase letters, lowercase letters, numbers, and special characters. + +## Installation + +Make sure you have the standard Rust toolchain installed. If not, you can install it from [here](https://www.rust-lang.org/tools/install). + +```shell +git clone https://github.com/sdanialraza/password-generator.git +cd password-generator +cargo build --release +``` + +## Usage + +Simply run `cargo run` and it will open the password generator application. + +You can then choose the length using the slider and whether to include uppercase letters, lowercase letters, numbers, and special characters using the checkboxes. + +Click the "Generate" button to generate a password and the "Copy" button to copy the generated password to the clipboard. + +### Recent Passwords + +It also saves the 10 most recently generated passwords. + +> [!TIP] +> You can disable this feature by removing `features = ["persistence"]` from the [Cargo](Cargo.toml) file. + +App data location: + +- **Linux**: home/_USERNAME_/.local/share/password-generator +- **macOS**: Users/_USERNAME_/Library/Application Support/password-generator +- **Windows**: C:\Users\\_USERNAME_\AppData\Roaming\password-generator + +## 🤝 Contributing + +Pull requests are welcome, and very much appreciated. But before you start working on a pull request, please make sure to open an issue first, so that we can discuss the changes you want to make. + +## ⚖️ License + +This project is licensed under the [MIT License](LICENSE).