Your Personal Password Manager

Technologies used -
Description

Welcome to PassX, your personal password manager designed to help you securely store and manage your passwords. In today’s digital world, keeping track of numerous passwords can be overwhelming, leading to the risk of using weak passwords or reusing them across multiple sites. PassX simplifies this process by allowing you to save your passwords securely in one place, making it easier to access your accounts while keeping your data safe.

With PassX, you can effortlessly add new passwords, view your saved passwords, and copy them with a single click. The application features a clean and intuitive interface that enhances usability, making it suitable for anyone who wants to manage their passwords effectively. Additionally, your passwords are stored in the browser’s local storage, ensuring that they are only accessible from your device

Highlighted Source Code
				
					const deletePassword = (website) => {
    let data = localStorage.getItem("passwords");
    let arr = JSON.parse(data);
    arrUpdated = arr.filter((e) => e.website != website);
    localStorage.setItem("passwords", JSON.stringify(arrUpdated));
    alert(`Successfully deleted ${website}'s password`);
    showPasswords();
}

const showPasswords = () => {
    let tb = document.querySelector("table");
    let data = localStorage.getItem("passwords");
    if (data == null || JSON.parse(data).length == 0) {
        tb.innerHTML = "No Data To Show";
    } else {
        tb.innerHTML = `<tr>
            <th>Website</th>
            <th>Username</th>
            <th>Password</th>
            <th>Delete</th>
        </tr>`;
        let arr = JSON.parse(data);
        let str = "";
        for (let index = 0; index &lt; arr.length; index++) {
            const element = arr[index];
            str += `<tr>
                <td>${element.website} <img src="./copy.svg" alt="Copy Button" width="10" height="10"></td>
                <td>${element.username} <img src="./copy.svg" alt="Copy Button" width="10" height="10"></td>
                <td>${maskPassword(element.password)} <img src="./copy.svg" alt="Copy Button" width="10" height="10"></td>
                <td><button class="btnsm">Delete</button></td>
            </tr>`;
        }
        tb.innerHTML += str;
    }
}
				
			

Related Projects

Fun Project

Tic Tac Toe Game

The Interactive Tic Tac Toe Game lets two players compete in a 3×3 grid. It includes a simple interface, feedback on wins, and sound effects for added fun.

Read More »
Form & Input Handling

Text-to-Speech Converter

This Text-to-Speech app lets you type text and listen to it spoken aloud in different voices. Choose a voice, click ‘Listen,’ and hear the text in real-time.

Read More »