This is the Frontend for my final project at Flatiron School. This project was inspired for my passion for information security and my interest in software engineering and built over 2.5 weeks.
This is a password manager that will allow users to save login credentials for sites, create a unique password based on their needs, and check if a password has been found in a breach via HaveIBeenPwnd. It uses Bcrypt on the user login and AES encryption on the user saved credentials.
The frontend is currently hosted on Netlifly and the backend is hosted on Heroku. https://flatiron-passwordmanager.netlify.com/ is the live project for your entertainment.
- To allow users to be created
- To not allow users to use the same login name
- To allow users to create Account Groups
- To allow users to add Credential Pairs to Account Groups
- To allow users to delete Credential Pairs from Account Groups
- To allow users to delete empty Account Groups
- To allow users to check is a password has been found in HaveIBennPwnd
- To allow users to create a unique password to their needs with options of numbers and unique characters
- To allow users to logout and clear their session information
- To securly store passwords on login
- To securly store Credential Pairs with AES encryption before being send to the backend.
- Get the backend is cloned and running (see backend for instructions there)
- Ensure that your fork and clone this repository
- Run
npm install
to get the npm package installed or uptodate - Run
npm start
and go to the localhost in your browser - If you are running the backend API at the same time you will need to open http://localhost:3001 to view it in the browser, or specify a specific port for the json server to run on and the app to run on as they cannot run on the same port.
- Javascript
- CSS
- React
- Cryptr
- AWS Amplify
- AWS Amplify CLI
- AWS Amplify React
- uuid
- dotenv
- Allow users to copy their created unique password into a new Account Group
- Work on ensuring users cannot input malicious code
- Make sure the key for each encryption is unique for each users and not accessable