Skip to content

mohe22/password-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Password Manager

password-landing-3 password-landing-1 Screenshot 2025-03-09 190929 Screenshot 2025-03-09 190846 Screenshot 2025-03-09 190827 Screenshot 2025-03-09 190742 Screenshot 2025-03-09 190635 Screenshot 2025-03-09 190616 Screenshot 2025-03-09 190543 Screenshot 2025-03-09 190437 Screenshot 2025-03-09 190357 Screenshot 2025-03-09 190258 password-loading

Overview

This is a secure password manager built using FastAPI for the backend and React for the frontend. The application allows users to store, manage, and retrieve encrypted passwords securely. It also includes user authentication with 2-factor authentication (2FA), password recovery, and the ability to export/import passwords.

Features

  • User Authentication

    • Register and login
    • Password reset functionality
    • Two-factor authentication (2FA)
  • Password Management

    • Add new password entries
    • Edit existing password entries
    • Delete password entries
    • Encrypt and decrypt passwords securely
  • Advanced Features

    • Export passwords securely
    • Import passwords securely
    • Generate strong passwords

Installation

Prerequisites

  • Python 3.8+
  • Node.js and npm
  • PostgreSQL or any supported database

Backend Setup

  1. Clone the repository:
    git clone https://github.com/your-repo/password-manager.git
    cd password-manager/server
  2. Create and activate a virtual environment:
    python -m venv venv
    source venv/bin/activate  # On Windows use: venv\Scripts\activate
  3. Install dependencies:
    pip install -r requirements.txt
  4. Set up environment variables:
    cp .env.example .env
    Update .env with database connection details and secret keys.
  5. Apply database migrations:
    alembic upgrade head
  6. Start the FastAPI server:
    uvicorn main:app --reload

Frontend Setup

  1. Navigate to the React client:
    cd ../react
  2. Install dependencies:
    npm install
  3. Start the React development server:
    npm run dev

API Endpoints

Authentication

  • POST /register - Register a new user
  • POST /login - Login a user
  • POST /forgot-password - Request password reset
  • POST /reset-password - Reset the password
  • POST /enable-2fa - Enable 2-factor authentication
  • POST /verify-2fa - Verify 2FA code

Password Management

  • POST /passwords - Add a new password entry
  • PUT /passwords/{id} - Edit an existing password entry
  • DELETE /passwords/{id} - Delete a password entry

Export & Import

  • GET /export-passwords - Export encrypted passwords
  • POST /import-passwords - Import encrypted passwords

Password Generator

  • POST /generate-secure-password - Generate a secure password

Security

  • All passwords are encrypted using AES-256 encryption with a passphrase-derived key.
  • User authentication is secured with JWT tokens.
  • Two-factor authentication adds an additional layer of security.

Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-branch)
  3. Commit your changes (git commit -m 'Add new feature')
  4. Push to the branch (git push origin feature-branch)
  5. Open a Pull Request

License

This project is licensed under the MIT License.

Contact

For questions or support, reach out at [yln0501403845@gmail.com].

About

Passwrod manager using FASTAPAI and react

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published