Skip to content

vishantgawali1811/passwordmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 SecureVault - Password Manager

A full-stack password manager application with beautiful UI and secure backend.

📁 Project Structure

password_manager/
├── frontend/          # React + Vite frontend
│   ├── src/
│   │   ├── components/
│   │   ├── App.jsx
│   │   └── main.jsx
│   ├── package.json
│   └── vite.config.js
│
├── backend/           # FastAPI backend
│   ├── routes/
│   ├── utils/
│   ├── main.py
│   ├── models.py
│   ├── schemas.py
│   └── requirements.txt
│
└── README.md

🚀 Quick Start

Frontend Setup

  1. Navigate to frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Run development server:
npm run dev

Frontend will be available at: http://localhost:5173

Backend Setup

  1. Navigate to backend directory:
cd backend
  1. Create virtual environment:
python -m venv venv
  1. Activate virtual environment:
# Windows PowerShell
venv\Scripts\Activate.ps1

# Windows CMD
venv\Scripts\activate.bat

# Linux/Mac
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create .env file:
cp .env.example .env
  1. Generate encryption key (run in Python REPL):
from cryptography.fernet import Fernet
print(Fernet.generate_key().decode())
  1. Add the key to .env file

  2. Run the server:

python main.py

Backend will be available at: http://localhost:8000 API Documentation: http://localhost:8000/docs

✨ Features

Frontend

  • 🎨 Beautiful gradient UI with smooth animations
  • 🔑 Password generator with customizable options
  • 📋 Copy to clipboard functionality
  • 👁️ Show/hide password toggle
  • 🔍 Search and filter passwords
  • 💪 Password strength indicator
  • 📱 Fully responsive design
  • 💾 Local storage support

Backend

  • 🔐 AES encryption for stored passwords
  • 🚀 Fast and async API with FastAPI
  • 💾 SQLite database (easily switchable to PostgreSQL/MySQL)
  • 📚 Auto-generated API documentation
  • 🔍 Search functionality
  • ✅ Input validation
  • 🌐 CORS enabled for frontend integration

🛠️ Technology Stack

Frontend

  • React 18
  • Vite
  • Lucide React (icons)
  • CSS3

Backend

  • Python 3.8+
  • FastAPI
  • SQLAlchemy
  • Cryptography (Fernet)
  • SQLite
  • Pydantic

📝 API Endpoints

  • POST /api/passwords - Create new password
  • GET /api/passwords - Get all passwords
  • GET /api/passwords/{id} - Get specific password
  • PUT /api/passwords/{id} - Update password
  • DELETE /api/passwords/{id} - Delete password
  • GET /api/passwords/search/{query} - Search passwords

🔒 Security Features

  • Password encryption using Fernet (symmetric encryption)
  • Secure key management via environment variables
  • Input validation and sanitization
  • CORS protection
  • Encrypted database storage

📦 Development

Frontend Development

cd frontend
npm run dev

Backend Development

cd backend
python main.py

Build Frontend for Production

cd frontend
npm run build

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

📄 License

MIT License - feel free to use this project for learning or production.

⚠️ Security Note

This is a demonstration project. For production use:

  • Use a production-grade database (PostgreSQL)
  • Implement user authentication
  • Use HTTPS
  • Store encryption keys in a secure key management service
  • Add rate limiting
  • Implement logging and monitoring
  • Regular security audits

🙏 Acknowledgments

Built with modern web technologies for educational purposes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published