Published on

Lockbox

Lockbox (github) is a terminal-based password manager that enables users to store and retrieve their passwords in a text file. While it's still a work in progress, the console application offers a streamlined, no-frills approach to password management, perfect for those who prefer a command-line interface over graphical UIs.

My primary focus with the Lockbox project is code organization and structure. I made sure the code follows a modular approach, with an emphasis on readability and extensibility. Functions are carefully divided to handle various tasks such as adding, retrieving, updating, and deleting password entries, making it easy to introduce new features and functionality.

Lockbox also demonstrates the benefits of using pointers, which can enhance code efficiency and optimize memory management—crucial when dealing with substantial amounts of data.

Furthermore, simplicity and user-friendliness are at the core of Lockbox's design. Although it's a console application, the menu options and prompts are clear, concise, and easy to follow. Here's a sample of the user experience:

Enter master password: mypassword

Menu:
1. Add a new login
2. View saved logins
3. Update an existing login
4. Delete a saved login
5. Exit
Enter your choice: 1

Enter website name: example.com
Enter username: alice
Enter password: secret@3534
Login added successfully 🤙

Menu:
1. Add a new login
2. View saved logins
3. Update an existing login
4. Delete a saved login
5. Exit
Enter your choice: 2

Saved logins:
example.com - alice

Menu:
1. Add a new login
2. View saved logins
3. Update an existing login
4. Delete a saved login
5. Exit
Enter your choice: 3

Enter website name: example.com
Enter new username: alice@example.com
Enter new password: YOLO@#$3212
Login updated successfully 🤙

Menu:
1. Add a new login
2. View saved logins
3. Update an existing login
4. Delete a saved login
5. Exit
Enter your choice: 2

Saved logins:
example.com - alice@example.com

Menu:
1. Add a new login
2. View saved logins
3. Update an existing login
4. Delete a saved login
5. Exit
Enter your choice: 4

Enter website name: example.com
Login deleted successfully 🤙

Menu:
1. Add a new login
2. View saved logins
3. Update an existing login
4. Delete a saved login
5. Exit
Enter your choice: 2

No logins saved 👎

Menu:
1. Add a new login
2. View saved logins
3. Update an existing login
4. Delete a saved login
5. Exit
Enter your choice: 5

Sayonara 👋