Skip to content

manasvi07/password_vault

Repository files navigation

Password Vault

npm version license

CSCI 5308 - ADVANCED TOPICS IN SOFTWARE DEVELOPMENT

Group Project - Dalhousie University (Spring 2022)

enter image description here

📦 Dependencies

Technology Stack

  • Backend - Django Framework
  • Frontend - ReactJS
  • Database - MySQL
  • Cloud - AWS

Installation

System requirements for building on local system :

  1. Python 3.6
  2. MySQL
  3. NodeJS

Once prerequisite requirements are satisfied, follow the steps:

  1. Git clone the repository and checkout the master branch.
$ git clone https://git.cs.dal.ca/courses/2022-winter/csci-5308/group5
$ git checkout master
  1. Activate virtual environment
$ virtualenv asdc-group5
$ source  asdc-group5/bin/activate
  1. Install the requirements
$  pip install -r requirements.txt
  1. Create a new .env file with contents present in .env.example
$  nano password_vault_backend/.env
  1. Add content from .env.example and paste it into .env. Make sure to keep this file in the correct path with no extra white spaces.

  2. Run migrations from the root directory. This will populate your database with required tables and values.

$ python3 password_vault_backend/manage.py migrate
  1. Finally, run the server with
$ python3 password_vault_backend/manage.py runserver
  1. Open 127.0.0.1:8080 to view the API specifications.

Architecture

Backend Architecture -

enter image description here

Deployment Instructions

Cloud platform used : Amazon Web Services

  1. AWS Elastic Compute Cloud (EC2)
  2. AWS Simple Secure Storage (S3)
  3. AWS CloudDeploy
  4. AWS Cloudformation
  5. AWS Virtual Private Cloud (VPC)

Start with AWS Cloudformation template present in the deployment scripts/deploy_to_aws.template by adding it to the cloudformation runner here.

enter image description here

This will generate our technical stack on AWS which includes all above mentioned services.

enter image description here

Post that, you can navigate to the AWS Codedeploy page by clicking here. You can create a project with the configuration given below.

enter image description here

Once the deployment succeeds, you can open the URL in the web browser.

Cloud Logging - You can view all requested application logs with tags like info, error, warning on logdna.com. Attached is the screenshot of dashboard with logs of a feature.

enter image description here

About

Password Vault is the application that lets the user store their password of different websites at one place without having to remember all the passwords. Our application also let the user to share their passwords with other users. User will also know if the password complexity is fine or it can be compromised.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors