KeyMaster is a secure password manager built with the MERN stack, featuring a React frontend and an Express.js backend, with MongoDB handling CRUD operations. The application allows the user to save, update, and delete passwords, ensuring secure storage and easy access.
- Password Management: Save, edit, and delete your passwords with ease.
- Copy to Clipboard: Quickly copy your saved passwords with a single click.
- Secure Viewing: Toggle between visible and hidden password states.
- Responsive Design: Mobile-friendly and intuitive user interface.
- Password Suggestion AI-Bot: Get new password suggestions via an AI-integrated chatbot.
- Persistent Storage: Passwords are stored in MongoDB, ensuring data persists across sessions.
- Deployed on Vercel: The application is hosted online.
To use KeyMaster for own purposes, do deploy the codebase and provide personal MongoDB database URL as an environment variable.
- Save Password: Enter the website URL, username, and password, then click the "Save" button.
- Copy Password: Click the copy icon next to a saved password to copy it to your clipboard.
- Edit Password: Click the edit icon next to a saved password to update it.
- Delete Password: Click the delete icon next to a saved password to remove it from the database.
- Show/Hide Password: Click the eye icon to toggle password visibility.
- AI Chatbot: Click the chatbot popup to ask for password suggestions.
The frontend is built using React with functional components and hooks for state management.
- Navbar Component: Provides a navigation bar with a logo and a GitHub link.
- Manager Component: Handles form input, password visibility toggling, and CRUD operations.
- Footer Component: Displays the footer with a logo and creator's name.
- Toastify: Provides toast notifications for user actions.
- UUID: Generates unique IDs for each saved password.
- HTML Component: Embeds the AI chatbot to serve password suggestion requests.
The backend is powered by Express.js, handling API requests and interacting with MongoDB.
- Get Passwords: Fetches all saved passwords from the database.
- Save/Update Password: Adds a new password to the database or edit the existing ones.
- Delete Password: Removes a password from the database by ID.
Check out the demo here.
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
- React Toastify for notifications
- UUID for unique ID generation
- Lordicon for beautiful icons
- Vercel for hosting
Made with 💖 by Rishu Raj (https://github.com/1rishuraj)
