{"id":18078073,"url":"https://github.com/anish-shinde-1/passify","last_synced_at":"2026-02-21T19:33:57.672Z","repository":{"id":253136828,"uuid":"842578461","full_name":"Anish-Shinde-1/Passify","owner":"Anish-Shinde-1","description":"Passify is a JavaFX desktop app developed for a college mini-project. It manages and organizes personal credentials with a sleek, user-friendly interface. Features include secure login, customizable UI, and efficient data management.","archived":false,"fork":false,"pushed_at":"2024-11-08T18:37:24.000Z","size":211,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T06:23:48.258Z","etag":null,"topics":["aes-256","cross-platform","data-encryption","desktop-application","java","javafx","jdbc","mini-project","mvc-architecture","mysql-database","password-generator","password-manager","pbkdf2withhmacsha512","scenebuilder","secure-user-authentication"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Anish-Shinde-1.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-08-14T16:26:59.000Z","updated_at":"2024-11-30T13:10:07.000Z","dependencies_parsed_at":"2024-08-14T18:14:24.131Z","dependency_job_id":"84b58c50-abad-4c25-a56b-901843844cbe","html_url":"https://github.com/Anish-Shinde-1/Passify","commit_stats":null,"previous_names":["anish-shinde-1/passify"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anish-Shinde-1%2FPassify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anish-Shinde-1%2FPassify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anish-Shinde-1%2FPassify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anish-Shinde-1%2FPassify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Anish-Shinde-1","download_url":"https://codeload.github.com/Anish-Shinde-1/Passify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248563423,"owners_count":21125273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aes-256","cross-platform","data-encryption","desktop-application","java","javafx","jdbc","mini-project","mvc-architecture","mysql-database","password-generator","password-manager","pbkdf2withhmacsha512","scenebuilder","secure-user-authentication"],"created_at":"2024-10-31T12:11:29.693Z","updated_at":"2026-02-21T19:33:57.643Z","avatar_url":"https://github.com/Anish-Shinde-1.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Passify\n\n**Passify** is a personal password manager application developed as a mini-project during the third semester of college. It provides a secure and user-friendly interface for managing your passwords and related information.\n\n## Team Members\n\n- **Anish Shinde SE IT B 42** \n- **Piyush Patil SE IT B 25** \n- **Payal Patil SE IT B 24** \n\n## Table of Contents\n\n- [Functionality](#functionality)\n- [Workings](#workings)\n- [Project Status](#project-status)\n- [Installation](#installation)\n- [Technologies](#technologies)\n- [License](#license)\n\n## Functionality\n\n**Passify** provides essential features for secure password management:\n\n- **User Authentication**: Secure login with master passwords, which are hashed for protection.\n- **Password Management**: Add, update, and delete passwords, all securely salted and encrypted with AES.\n- **Data Security**: Utilizes PBKDF2 hashing with salting for master passwords, ensuring robust protection.\n- **Intuitive UI**: User-friendly interface designed with JavaFX for easy navigation.\n- **Categorization**: Organize passwords into **Work**, **Social**, and **Miscellaneous** categories.\n- **Favorites \u0026 Trash**: Mark passwords as favorites for quick access and recover deleted passwords from trash.\n- **Password Generator**: Create strong, secure passwords with the built-in generator.\n- **User Dashboard**: An overview dashboard for efficient management of user settings and preferences.\n\n\n## Workings\n\nPassify operates on a simple model-view-controller (MVC) architecture with an additional Data Access Object (DAO) layer. The application interacts with a MySQL database through JDBC for user data storage and retrieval. The user interface is built using JavaFX, allowing for a responsive and modern design. The following components work together:\n\n1. **Model**: Represents the data and the business logic. This includes user accounts and password entries.\n2. **View**: The JavaFX UI components that the user interacts with.\n3. **Controller**: Handles user input and updates the model and view accordingly.\n4. **DAO**: Provides an abstract interface to the database, managing the CRUD operations for user accounts and password entries. \n\n## Project Status\n\nAlthough the Minimum Viable Product (MVP) of Passify is complete, the application is still a work in progress. Future updates will address the following issues:\n\n- **Favorites**: Implementing a feature to mark passwords as favorites for quick access from the main navigation.\n- **Trash**: Adding a trash feature to list and recover deleted passwords.\n- **Types**: Categorizing credentials by type, including login credentials, card details, identity documents, etc.\n- **User Dashboard**: Creating a user dashboard for better usability and additional features.\n- **Automatic Database Setup**: Streamlining the database setup process to allow users to set up the database automatically without needing to run SQL scripts manually.\n\n## Installation\n\nTo set up Passify on your local machine, follow these steps:\n\n1. **Install MySQL:** *(Skip if you already have installed and setup MySQL)*\n\n   - **Windows**: Download the installer from the [MySQL website](https://dev.mysql.com/downloads/installer/) and follow the installation instructions.\n   - **Linux**: \n     ```bash\n     sudo apt install mysql-server\n     ```\n   - **Post-Installation**: Secure the installation:\n     ```bash\n     sudo mysql_secure_installation\n     ```\n\n2. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/Anish-Shinde-1/Passify.git\n   ```\n\n3. **Navigate to the project directory:**\n\n   ```bash\n   cd passify\n   ```\n4. **Run the MySQL database setup script:**\n\n      - Navigate to the src/main/java/com/passify/utils/PasswordManagerDatabaseScript.sql to copy its path and run the SQL script to set up the database.\n   ```bash\n   # For Linux:\n   mysql -u \u003cyour_username\u003e -p \u003c /path/to/PasswordManagerDatabaseScript.sql\n   \n   # For Windows:\n   mysql -u \u003cyour_username\u003e -p \u003c \"C:\\\\path\\\\to\\\\PasswordManagerDatabaseScript.sql\"\n   ```\n   \n5. **Update the JDBC connector class:**\n\n      - Open the JDBC_Connector.java file located in src/main/java/com/passify/utils/ and update the server login credentials (USER and PASSWORD) according to your MySQL server settings.\n\n\n6. **Install Apache Maven:**\n      - For Linux:\n   ```bash\n   sudo apt install maven\n   ```\n   - For Windows:\n     - a. Manual Install: Visit the Maven Download page (https://maven.apache.org/download.cgi) and follow the instructions.\n     - b. Using Scoop or Chocolatey:\n         ```bash \n         # Using Scoop:\n         scoop install maven\n       \n         # Using Chocolatey:\n         choco install maven\n         ```\n   \n7. **Build the project:**        \n    \n    - Go to the Passify/ directory where the pom.xml file is present and build the project.\n   \n    ```bash\n   mvn clean install\n   ```\n\n8. **Run the application:**\n\n   ```bash\n   mvn clean javafx:run\n   ```\n\n## Technologies\n\nPassify is built using the following technologies:\n\n- **Java**: The primary programming language.\n- **JavaFX**: For building the user interface.\n- **Scene Builder**: For designing the user interface visually.\n- **JDBC**: For connecting to a MySQL database to store user data.\n- **MySQL**: The database management system used for storing user data.\n- **Maven**: For project management and build automation.\n\n## License\n\nThis project is licensed under the [GNU General Public License v3.0](LICENSE). See the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanish-shinde-1%2Fpassify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanish-shinde-1%2Fpassify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanish-shinde-1%2Fpassify/lists"}