{"id":26575729,"url":"https://github.com/coding-chemist/genlock","last_synced_at":"2026-04-16T14:31:48.450Z","repository":{"id":265113947,"uuid":"894331343","full_name":"coding-chemist/GenLock","owner":"coding-chemist","description":"GenLock is a Python-powered password management system that generates secure passwords, evaluates their strength, and stores them safely in an Excel-based database. Featuring a user-friendly Streamlit interface, robust Flask APIs, and built-in testing, GenLock ensures both functionality and security.","archived":false,"fork":false,"pushed_at":"2024-12-04T05:26:41.000Z","size":129,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"lock","last_synced_at":"2025-03-23T02:29:55.536Z","etag":null,"topics":["flask","logging","openpyxl","password","password-generator","password-strength","requests","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coding-chemist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-26T07:02:30.000Z","updated_at":"2025-03-12T18:34:51.000Z","dependencies_parsed_at":"2024-11-27T19:32:10.853Z","dependency_job_id":null,"html_url":"https://github.com/coding-chemist/GenLock","commit_stats":null,"previous_names":["coding-chemist/genlock"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coding-chemist/GenLock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-chemist%2FGenLock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-chemist%2FGenLock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-chemist%2FGenLock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-chemist%2FGenLock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coding-chemist","download_url":"https://codeload.github.com/coding-chemist/GenLock/tar.gz/refs/heads/lock","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-chemist%2FGenLock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31890511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","logging","openpyxl","password","password-generator","password-strength","requests","streamlit"],"created_at":"2025-03-23T02:30:00.382Z","updated_at":"2026-04-16T14:31:48.433Z","avatar_url":"https://github.com/coding-chemist.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GenLock: Password Management System\nGenLock is a robust, user-friendly password management system designed to help users generate secure passwords, evaluate their strength, and manage them efficiently. It includes a modern Streamlit-based frontend for an intuitive UI and a Flask-powered backend for handling API operations.\n\n![GenLock](image.png)\n\n## Table of Contents\n- Features\n- Tech Stack\n- Setup Instructions\n- Project Structure\n- Usage\n- API Endpoints\n- Contributing\n- License\n\n## Features\n### Password Generator\n- Generate strong passwords with custom lengths and optional special characters.\n- Visualize password strength with a color-coded progress bar.\n\n### Password Security Check\n- Analyze password strength and identify weaknesses.\n- Supports evaluation based on length, character diversity, and sequence patterns.\n\n### Password Storage\n- View and manage a list of generated passwords.\n- Passwords are securely stored in an Excel file (passwords.xlsx).\n\n### Rate Limiting\n- Built-in rate limiting for API endpoints to prevent abuse.\n\n### Modern UI\n- Clean, responsive interface built using Streamlit for easy navigation.\n\n## Tech Stack\n\n- **Backend:** ![Flask](https://img.shields.io/badge/Flask-2.2.3-blue?logo=flask) ![Flask-Limiter](https://img.shields.io/badge/Flask--Limiter-3.8.0-lightgrey?logo=flask)\n- **Frontend:** ![Streamlit](https://img.shields.io/badge/Streamlit-1.40.2-red?logo=streamlit)\n- **Storage:** ![OpenPyXL](https://img.shields.io/badge/OpenPyXL-3.1.5-lightblue?logo=openpyxl)\n- **Utilities:** ![Requests](https://img.shields.io/badge/Requests-2.32.3-blue?logo=requests) ![Logging](https://img.shields.io/badge/Logging-Standard-lightgrey?logo=python)\n\n\n## Setup Instructions\n### Prerequisites\n- Python 3.8 or higher\n- pip (Python package manager)\n\n### Installation\nClone the Repository\n\n```bash\ngit clone https://github.com/your-repo/genlock.git\ncd genlock\n```\nCreate a Virtual Environment\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # For Linux/Mac\nvenv\\Scripts\\activate     # For Windows\n```\n\nInstall Dependencies\n\n```bash\npip install -r requirements.txt\n```\n\nInitialize the Excel File The passwords.xlsx file will be automatically created when the app is first run. If needed, you can reinitialize it manually:\n\n```bash\npython -c \"from app.excel_manager import initialize_excel; initialize_excel()\"\n```\n\nRun the Backend Server\n\n```bash\npython main.py\n```\nRun the Frontend Open a new terminal and run:\n\n```bash\nstreamlit run frontend/app.py\n```\n\n## Project Structure\n```bash\nGenLock/\n├── app/\n│   ├── __init__.py             # Flask app factory\n│   ├── routes.py               # API routes\n│   ├── password_utils.py       # Password generation and validation logic\n│   ├── excel_manager.py        # Excel file management for storing passwords\n├── frontend/\n│   ├── app.py                  # Streamlit-based frontend\n│   ├── utils.py                # Utility functions for frontend\n├── main.py                     # Entry point for the Flask backend\n├── requirements.txt            # Python dependencies\n├── passwords.xlsx              # (Generated) Password storage\n└── README.md                   # Project documentation\n```\n\n## Usage\n### Generate Password\n- Navigate to the Generate Password tab in the UI.\n- Customize the password length and toggle special character inclusion.\n- Click Generate Password to get a strong password.\n\n### Check Password Security\n- Go to the Check Password Security tab.\n- Input a password to evaluate and click Check Security.\n- View its strength rating and potential weaknesses.\n\n### Stored Passwords\n- Access the Stored Passwords tab to view all generated passwords.\n- Manage stored passwords (deletion functionality to be added as needed).\n\n### API Endpoints\n\n| Method | Endpoint               | Description                       |\n|--------|------------------------|-----------------------------------|\n| POST   | /generate-password     | Generates a secure password.      |\n| POST   | /check-security        | Evaluates password strength.      |\n| GET    | /passwords             | Retrieves all stored passwords.   |\n| DELETE | /password/\u003cint:id\u003e     | Deletes a password by its ID.     |\n\n**Example Request (Generate Password):**\n\n```bash\nPOST /generate-password\n{\n    \"length\": 16,\n    \"include_special\": true\n}\n```\n**Example Response:**\n\n```json\n{\n    \"password\": \"aG$6!J3kL\",\n    \"security_level\": \"Strong\"\n}\n```\n\n## Contributing\nWelcome your contributions to GenLock! If you would like to contribute, please fork the repository, create a new branch, and submit a pull request with your changes..\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Acknowledgments\n\n- **Flask**: A lightweight WSGI web application framework for Python. [Flask](https://flask.palletsprojects.com/).\n- **Streamlit**: An open-source app framework for Machine Learning and Data Science projects. [Streamlit](https://streamlit.io/).\n- **OpenPyXL**: A Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files. [OpenPyXL](https://openpyxl.readthedocs.io/en/stable/).\n- **Requests**: A simple HTTP library for Python. [Requests](https://requests.readthedocs.io/en/latest/).\n- **Flask-Limiter**: Rate limiting for Flask applications. [Flask-Limiter](https://flask-limiter.readthedocs.io/en/stable/).\n- **Python Software Foundation**: For maintaining Python and supporting the development of Python-based tools and libraries.\n- **Logo**: The logo image used in this project is sourced from [Les Olson IT](https://lesolson.com/wp-content/uploads/2019/08/Asset-1strong-password.png).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding-chemist%2Fgenlock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoding-chemist%2Fgenlock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding-chemist%2Fgenlock/lists"}