⚠️ Disqualified: Project Not Developed Within Hackathon Timeframe
Your project has been disqualified because it was not developed during the official hackathon period, which is a core requirement for eligibility.
All submissions must be started and completed within the designated hackathon dates to ensure a fair competition for all participants. If you have any questions or believe this decision was made in error, feel free to reach out to the organizing team.
About the Project
SecurePass is a command-line password manager and strength checker.
I was inspired to create it because people often reuse weak passwords, and I wanted to make a tool to check password strength and store credentials for practice. I initially started the CS50P course and designed this simple password manager. It felt like a substantial achievement so I want to display it.
How I Built It
- Written entirely in Python, the program runs in the terminal.
- Data is stored in a
passwords.jsonfile using JSON. - Password strength is determined using regular expressions, checking:
- Length ( \geq 8 )
- Uppercase, lowercase, digit, and special character presence
- The program uses a menu-driven interface for:
- Checking password strength,
- Saving new credentials,
- Viewing stored credentials.
What I Learned
- How to organize a Python project with a
main()function and additional helper functions. - Using \texttt{pytest} for unit testing.
- Handling file I/O and preventing errors with missing or empty files.
- Building regex-based validation logic.
- Writing clean, testable code with loops and conditionals.
Challenges Faced
- Handling invalid or missing
passwords.jsonfiles without crashing. - Ensuring the password validation logic was consistent and testable.
- Balancing simplicity for users while still making the tool feel functional.
- Debugging test cases when functions interacted with saved data.
Note
While SecurePass is functional, it does not encrypt stored passwords and should not be used to store real credentials.
It is strictly an educational project, designed to apply concepts from CS50P.
Password Strength:
- Strong: length ≥ 12 and contains all character types
- Moderate: length ≥ 8 but missing some character types
- Weak: otherwise
Log in or sign up for Devpost to join the conversation.