The objective of this project is to create a password management system and web application, similar to that of LastPass or Bitwarden. Users will be able to generate secure passwords, store passwords and account information in a database that is viewable via a web app, and stored information can then be automatically filled into website forms across the internet.
The following features are currently available in the web application:
- Account Creation/Login
- Manage Account/Passwords
- Secure Password Generation
- Import/Export Passwords
This password manager made use of the MERN stack architecture and the major features of each application component can be observed in the following diagram:
-
First make sure that https://nodejs.org/en/ is installed
-
Clone this repository and install its dependencies
> git clone https://github.com/burchcATWIT/password_manager.git > cd password-manager > npm install
-
Note: Some devices may be incompatible with the fservents package dependencies contained in the package files of the password manager application. As these are not critical packages for site functionality, they can be uninstalled if errors arise during initial installation or during runtime through the following commands:
> npm uninstall fservents
Mac users have also reported an error separate from the fservents packages related to the script startup. If using Mac and experiencing a ERR_OSSL_EVP_UNSUPPORTED error, run the following command:
> export NODE_OPTIONS=--openssl-legacy-provider > npm start
-
In the root directory (and backend if necessary), run:
> npm install
If experiencing compilation issues, also run:
> cd backend > npm install
-
Navigate to the backend directory and run:
> node index.js
-
Open a new terminal window and navigate back to the root directory of the manager:
> cd password-manager
-
From the root directory, navigate to the source directory of the application and start the site
> cd src > npm start
-
Navigate to http://localhost:3000 and the site should be running
-
Please reach out to a member of our team (contact information in contributors section) via email if experiencing additional errors that are preventing the site from running.
-
Run script from root directory to add sample password manager data:
> node addonedata.js
-
Respond to the prompts as asked
-
View new password entry in password list
-
Run script from root directory to add multiple entries of new password manager data:
> node randomdatapop.js
-
View new password entries in password list
-
Note: The scripts in this section are for site beta purposes and will be removed in a production environment (i.e.: when the site is publicly accessible)
https://www.youtube.com/watch?v=SqcZT2kLEuM
- Andrew Hogan (hogana3@wit.edu), full-stack developer for password generation and database creation contributor
- Alex Grant (granta5@wit.edu), full-stack developer for password list viewing and functionality
- Lo-Badal Burch (burchc@wit.edu), front-end developer for dashboard pages and database creation contributor
- Emmanuel "Manny" Chalumeau (chalumeaue@wit.edu), front-end developer for home/login/create account pages and architecture designer