A secure password manager built with Django, integrated with Firebase for database storage and authentication. This project ensures the encryption of passwords using the Python Cryptography library and follows best practices for security.
- Secure user authentication with Firebase
- Password encryption using the Python Cryptography library
- Real-time database storage with Firebase
- Password management (add, view, update, delete)
- Environment variables for storing sensitive information
- Python 3.x
- Django
- Firebase account
- Python Cryptography library
-
Clone the repository:
git clone https://github.com/dpshah23/password-manager.git cd password-manager -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up your Firebase project and obtain the Firebase credentials JSON file.
Store your Firebase credentials and other sensitive information in a .env file located in the project root directory. Create a .env file with the following structure:
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
FIREBASE_DATABASE_URL=your_firebase_database_url
FIREBASE_PROJECT_ID=your_firebase_project_id
FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
FIREBASE_APP_ID=your_firebase_app_id
FIREBASE_MEASUREMENT_ID=your_firebase_measurement_id
SECRET_KEY=your_django_secret_keyNote: Never share your
.envfile or its contents publicly.
- Go to your Firebase project settings and find your project's credentials.
- Download the
serviceAccountKey.jsonfile and place it in the project directory.
-
Run the Django development server:
python manage.py runserver
-
Access the application in your web browser at
http://127.0.0.1:8000/. -
Register a new account or log in with your credentials.
-
Use the interface to manage your passwords securely.