vansh-sardana / Password-Shield

Password Manager Deployed Link πŸ‘‡

Home Page:https://passwordshield.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Password Manager Application

This project is a password manager application that allows users to securely store their website names and passwords. The application provides a user interface for managing passwords, including adding, editing, and deleting website credentials. It also incorporates an authentication system to ensure that only authorized users can access their passwords.

Table of Contents

Features

  • User registration and authentication
  • AES-256 encryption for password security
  • View decrypted passwords for individual websites
  • Add, edit and delete website password entries
  • Responsive design for mobile and desktop devices
  • Error handling and validation for forms

Technologies

The project utilizes the following technologies:

  • Backend:

    • Node.js: A JavaScript runtime for server-side development.
    • Express.js: A web application framework for Node.js.
    • PostgreSQL: A powerful open-source relational database management system.
    • TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
  • Frontend:

    • Next.js: A React framework for building server-side rendered and statically generated web applications.
    • TypeScript: TypeScript is used throughout the project to ensure strong type safety and enhance the development process.
    • Tailwind CSS: Tailwind CSS is used for styling the frontend, offering a utility-first approach and speeding up the design process.

Application Setup

To setup the application locally, follow these steps:

  1. Star and Fork this repo to create your own copy to work from.

  2. Clone the repository you forked to your local machine using:

       git clone <your_forked_repo_url>
  3. Navigate to the Server directory using command "cd server" and create a .env file and copy contents of .env.example file to .env file and add all secret keys to setup postgres database and backend.

  4. Install dependencies in server directory of project:

       npm install
  5. Start the server using command:

       npm start
  6. create a Table (schema) by making a POST request to API endpoint http://localhost:8080/schema using Postman or other API testing tools.

  7. Now Navigate to the client directory using command "cd client" and create a .env.local file and copy contents of .env.sample file to .env.local file and add server URL.

  8. Install dependencies in client directory of project:

       npm install
  9. Start the application using command:

       npm run dev
  10. Open http://localhost:3000 in your browser to see the application.


How to Contribute

Contributions are welcome! If you would like to contribute to the project, please follow these steps:

  1. Clone and setup this application locally by following above application setup steps.

  2. Create a new branch for the issue you assigned to work on, using below command:

       git checkout -b your_branch_name
  3. Make your changes to the code.

  4. Once you are satisfied with your changes, commit them with a descriptive commit message using below command:

       git add .
       git commit -m "feat: Add feature X"
  5. Push your changes to your forked repository:

       git push origin your_branch_name
  6. Create a pull request by clicking the "Pull request" button on the original repository page.

  7. Wait for the project maintainer to review your pull request and provide feedback.

  8. If your pull request is accepted, it will be merged into the main branch of the project. Congratulations, you've contributed to the project!


Usage

To use the application, follow these steps:

  1. Register a new account with your username, email and password.
  2. Log in to the application using email and password.
  3. Add a new website name and password by filling out the form and clicking the "Add New" button.
  4. View your website name and password entries in the main page.
  5. Click the "eye" button to view the decrypted password.
  6. Edit or delete a website name and password entry by clicking the corresponding button in the main page.

About

Password Manager Deployed Link πŸ‘‡

https://passwordshield.vercel.app


Languages

Language:TypeScript 97.9%Language:CSS 1.8%Language:JavaScript 0.3%