Giter VIP home page Giter VIP logo

password-manager's Introduction

Password Manager | MERN

A Password Manager project created using MERN stack

Built using

Front-end

  • ReactJS - Frontend framework
  • Redux - State management library
  • Redux Thunk - Middleware which allows action creators to return a function
  • React Router - Library for general routing & navigation
  • React Hook Form - Library for flexible & extensible forms
  • Yup - Form validation tool
  • Styled Components - Component-level styles
  • Axios - Library used to make HTTP requests from Node.js

Back-end

  • Node.js - Runtime environment for JS
  • Express.js - Node.js framework, makes process of building APIs easier & faster
  • MongoDB - Open source NoSQL database management program
  • JSON Web Token - A standard to secure/authenticate HTTP requests
  • Bcrypt.js - For hashing passwords
  • Dotenv - To load environment variables from a .env file

Features

  • Authentication (login/register w/ email & master-password/Google OAuth)
  • Generation of random, strong passwords with up to 128 symbols
  • Set of regular expressions to calculate a password entropy
  • CRUD credentials with platform, username & password
  • Toast notifications for actions: copying, removing credentials etc.
  • Content loaders for fetching processes
  • Proper responsive UI for all screens

UI Demo

_vault _generator

Project Setup

Navigate to the directory of choice and clone the project

git clone https://github.com/tmneth/password-manager.git

Setting up the server

To configure the server run the following command from the root directory

cd server && npm install

Create .env file and configure environmental variables as follows

CONNECTION_URI=<your MongoDB URI>
SECRET_KEY=<your secret key for hashing passwords>

Once all the dependencies were installed start the server

npm run start

Setting up the client

To configure the client run the following command from the root directory

cd client && npm install

Create .env file and configure environmental variables as follows

REACT_APP_GOOGLE_CLIENT_ID=<your Google OAuth client ID>
REACT_APP_SERVER_ACCESS=<your server URL>

Once all the dependencies were installed start the client

npm run start

password-manager's People

Contributors

tmneth avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.