|
1 | 1 | # RogaDev Password Generator |
2 | 2 |
|
3 | 3 | A very simple, lightweight password generator that I built in an couple hours. It takes a few parameters that allow you to decide whether you'll have special characters, capital and/or lower case letters, and numbers. Click to save to clipboard. |
| 4 | + |
| 5 | +The live application is available at [passwords.roga.dev](https://passwords.roga.dev). |
| 6 | + |
| 7 | +## Features |
| 8 | + |
| 9 | +- Generate random, secure passwords |
| 10 | +- Customize password options (length, character sets) |
| 11 | +- Exclude specific characters |
| 12 | +- Apply common password rules |
| 13 | +- Copy to clipboard with one click |
| 14 | +- Network activity monitoring |
| 15 | +- Fully client-side (no server requirements) |
| 16 | +- URL parameter support for sharing configurations |
| 17 | + |
| 18 | +## Development |
| 19 | + |
| 20 | +### Installation |
| 21 | + |
| 22 | +```bash |
| 23 | +# Clone the repository |
| 24 | +git clone https://github.com/yourusername/roga-password-generator.git |
| 25 | + |
| 26 | +# Navigate to the project directory |
| 27 | +cd roga-password-generator |
| 28 | + |
| 29 | +# Install dependencies |
| 30 | +npm install |
| 31 | +``` |
| 32 | + |
| 33 | +### Running the Application |
| 34 | + |
| 35 | +```bash |
| 36 | +# Start the development server |
| 37 | +npm run dev |
| 38 | + |
| 39 | +# Build for production |
| 40 | +npm run build |
| 41 | + |
| 42 | +# Preview the production build |
| 43 | +npm run preview |
| 44 | +``` |
| 45 | + |
| 46 | +### Testing |
| 47 | + |
| 48 | +This project uses Vitest for unit testing and Playwright for end-to-end testing. |
| 49 | + |
| 50 | +```bash |
| 51 | +# Run unit tests |
| 52 | +npm test |
| 53 | + |
| 54 | +# Run unit tests in watch mode |
| 55 | +npm run test:watch |
| 56 | + |
| 57 | +# Run end-to-end tests |
| 58 | +npm run test:e2e |
| 59 | + |
| 60 | +# Run end-to-end tests with UI |
| 61 | +npm run test:e2e:ui |
| 62 | +``` |
| 63 | + |
| 64 | +For more information on testing, see [TESTING.md](TESTING.md). |
| 65 | + |
| 66 | +### CI/CD |
| 67 | + |
| 68 | +This project uses GitHub Actions for continuous integration and Vercel for continuous deployment. The GitHub Actions workflows run tests automatically, and Vercel handles deployment when changes are merged to the main branch. |
| 69 | + |
| 70 | +For more information on the CI/CD workflow, see [CI_CD.md](CI_CD.md). |
| 71 | + |
| 72 | +## URL Parameters |
| 73 | + |
| 74 | +You can configure the password generator via URL parameters: |
| 75 | + |
| 76 | +``` |
| 77 | +?len=24 # Set password length to 24 |
| 78 | +?exLower # Exclude lowercase letters |
| 79 | +?exNum # Exclude numbers |
| 80 | +?exUpper # Exclude uppercase letters |
| 81 | +?exSym # Exclude symbols |
| 82 | +?exc=abc123 # Exclude specific characters |
| 83 | +?ruleNoLead # Disallow leading numbers/symbols |
| 84 | +``` |
| 85 | + |
| 86 | +Parameters can be combined: |
| 87 | + |
| 88 | +``` |
| 89 | +?len=18&exUpper&exSym&ruleNoLead&exc=xyz789 |
| 90 | +``` |
| 91 | + |
| 92 | +## License |
| 93 | + |
| 94 | +MIT |
0 commit comments