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-managerCreate 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_keyFIREBASE_AUTH_DOMAIN=your_firebase_auth_domainFIREBASE_DATABASE_URL=your_firebase_database_urlFIREBASE_PROJECT_ID=your_firebase_project_idFIREBASE_STORAGE_BUCKET=your_firebase_storage_bucketFIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_idFIREBASE_APP_ID=your_firebase_app_idFIREBASE_MEASUREMENT_ID=your_firebase_measurement_idSECRET_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.