Skip to content

CS467-VaultMaster/VaultMaster

Repository files navigation

VaultMaster

Description

VaultMaster is a web password manager that allows storage and retrieval of web credentials. It is built using React, FastAPI, PostgreSQL, and AWS, designed to offer high security and ease of use. App features time-based OTP MFA, checks of whether user passwords have appeared in data breaches, and end-to-end encryption of all information.

Visuals

Here is a look at VaultMaster in action:

Login Page

Login
Page where users enter their credentials. This page provides a new user with a path to register.

Registration Page

Registration
Allows the user to create a new account. The user will also be prompted to scan a QR code with their mobile authentication app.

Credentials Vault

Credentials
Dashboard to view, create, delete, and edit credentials. All passwords in VaultMaster are run through the Have I Been Pwned database to check for appearence in breaches as shown in above screenshot with the user attempting to use "password."

Edit Profile Page

Credentials
Allows users to edit their profile information or delete their profile.

Tools Page

Credentials
Allows user to export all stored passwords in a plaintext JSON file. Also has Generate Strong Password utility.

Installation

To install and run VaultMaster using Docker, follow these steps:

  1. Clone the Repository
  2. Create a local .env.dev file The following values must be defined in a file called .env.dev, in the repo's root directory, before the app will run locally:
    POSTGRES_USER=               # arbitrary string
    POSTGRES_PASSWORD=           # arbitrary string
    SECRET_KEY=                  # arbitrary string
    SECRET_ADMIN_KEY=            # arbitrary string
    ACCESS_TOKEN_EXPIRE_MINUTES= # arbitrary integer
    
  3. Build the Docker Images:
  • Ensure Docker is installed on your machine.
  • Build the Docker images for the frontend, backend, and database services:
    docker-compose build
    
  1. Run the Docker Containers:
  • Start the containers:
    docker-compose up
    
  1. Access the Application:
  • The application should now be running at localhost:3000 for local development purposes.

Usage

Visit vaultmaster.site to use the production version of the app.

Contributing

We welcome all contributions. Please see our Contribution Guidelines for more information. (TODO)

Authors and Acknowledgement

Developed by Will Lambeth, Elliott Larsen, and Myles Penner for OSU CS467.

License

This project is published under the MIT License.