A modern, secure password management system with a beautiful web interface, built with Next.js frontend and FastAPI backend. SecurePass Vault provides enterprise-grade security with client-side encryption, JWT authentication, and a sleek neon-themed UI.
Experience SecurePass Vault in action: https://securepassvault-bdtd.onrender.com/
Try out the modern password management interface with zero-knowledge architecture and two-layer encryption.
- Type: Command-line interface (CLI) application
- Features: Basic password storage, encryption, and management
- Tech Stack: Python, MongoDB, Cryptography library
- Interface: Terminal-based with simple text commands
- Architecture: Single Python application with direct database access
- Type: Modern web application with responsive UI
- Features: Advanced security, user authentication, admin panel, real-time features
- Tech Stack: Next.js frontend + FastAPI backend, TypeScript, modern encryption
- Interface: Beautiful neon-themed web interface with animations
- Architecture: Full-stack application with client-side encryption and JWT authentication
This version represents a complete rewrite and modernization of the original SecurePassVault, transforming it from a simple CLI tool into a professional-grade web application.
- Client-Side Encryption: All passwords are encrypted on the client side before transmission
- Salt-Based Key Derivation: Unique salt per user for enhanced security
- JWT Authentication: Secure token-based authentication system
- Password Hashing: Bcrypt hashing for user passwords
- MongoDB Integration: Secure credential storage with MongoDB
- Modern Web Interface: Beautiful neon-themed UI with responsive design
- Password Management: Add, view, reveal, and delete credentials
- User Registration & Login: Secure account creation and authentication
- Real-time User Count: Dynamic display of registered users
- Admin Panel: User management for administrators
- Responsive Design: Works seamlessly on desktop and mobile devices
- User Management: View all registered users
- User Deletion: Remove users from the system
- User Renaming: Update user email addresses
- Admin Access Control: Restricted admin-only functionality
- FastAPI: Modern, fast web framework for building APIs
- Python 3.7+: Core programming language
- MongoDB: NoSQL database for credential storage
- PyMongo: MongoDB driver for Python
- JWT: JSON Web Tokens for authentication
- Bcrypt: Password hashing and verification
- Cryptography: Encryption and decryption utilities
- Uvicorn: ASGI server for FastAPI
- Next.js 15.3+: React framework with App Router
- TypeScript: Type-safe JavaScript development
- Tailwind CSS: Utility-first CSS framework
- Framer Motion: Animation library
- React Hot Toast: Toast notifications
- CryptoJS: Client-side encryption
- Axios: HTTP client for API calls
- Lucide React: Icon library
- ESLint: Code linting
- PostCSS: CSS processing
- Autoprefixer: CSS vendor prefixing
SecurePassVault/
βββ frontend/ # Next.js frontend application
β βββ app/ # App Router pages
β β βββ page.tsx # Homepage with login/register
β β βββ vault/ # Password vault interface
β β βββ admin/ # Admin panel
β β βββ aboutus/ # About us page
β β βββ layout.tsx # Root layout
β βββ components/ # React components
β βββ contexts/ # React contexts
β βββ lib/ # Utility libraries
β β βββ crypto/ # Encryption utilities
β βββ public/ # Static assets
βββ Routers/ # FastAPI route handlers
β βββ auth_router.py # Authentication endpoints
β βββ credentials_router.py # Password management
β βββ admin_router.py # Admin functionality
βββ main.py # FastAPI application entry
βββ auth.py # Authentication utilities
βββ models.py # Pydantic models
βββ operations.py # Database operations
βββ encryptor.py # Encryption utilities
βββ db_config.py # Database configuration
βββ requirements.txt # Python dependencies
- Python 3.7 or higher
- Node.js 18 or higher
- MongoDB (local or cloud instance)
- Git
-
Clone the repository
git clone https://github.com/Atharv5873/SecurePassVault-.git cd SecurePassVault -
Install Python dependencies
pip install -r requirements.txt
-
Configure MongoDB
- Set up a MongoDB instance (local or cloud)
- Update database connection in
db_config.py
-
Run the backend server
uvicorn main:app --reload --host 0.0.0.0 --port 8000
-
Navigate to frontend directory
cd frontend -
Install Node.js dependencies
npm install
-
Run the development server
npm run dev
-
Build for production
npm run build npm run start
Create a .env file in the root directory:
MONGODB_URI=your_mongodb_connection_string
SECRET=your_secretPOST /auth/register- User registrationPOST /auth/token- User loginGET /auth/salt- Get user saltGET /auth/me- Get current user info
POST /credentials/- Add new credentialGET /credentials/- View all credentialsGET /credentials/reveal/{id}- Reveal passwordDELETE /credentials/delete/{id}- Delete credential
GET /admin/users- List all usersDELETE /admin/user/{id}- Delete userPUT /admin/rename/{id}- Rename userGET /admin/user-count- Get total user count
- Passwords are encrypted using CryptoJS before transmission
- Unique salt per user for key derivation
- Encryption key derived from user password and salt
- JWT tokens for session management
- Bcrypt password hashing
- MongoDB injection protection
- CORS configuration for frontend integration
- User enters password on frontend
- Salt is fetched from server
- Encryption key is derived client-side
- Credentials are encrypted before API transmission
- Encrypted data is stored in MongoDB
- Decryption happens client-side only
- Neon Theme: Modern cyberpunk aesthetic with glowing effects
- Split-Screen Layout: Information and visual panels
- Responsive Design: Mobile-first approach
- Smooth Animations: Framer Motion transitions
- Toast Notifications: User feedback system
- Loading States: Progressive loading indicators
- Role: FastAPI, Backend, Python, MongoDB linking, API and UI/UX
- Contributions:
- FastAPI backend architecture
- MongoDB integration and operations
- JWT authentication system
- Password salting and hashing
- Admin functionality
- API endpoint development
- Contact:
- π§ Email: atharv5873@gmail.com
- π GitHub: atharv5873
- π LinkedIn: Atharv Sharma
- Role: Frontend development and backend-frontend linking
- Contributions:
- Next.js frontend development
- React components and UI
- Frontend-backend integration
- Client-side encryption implementation
- Salt generation and management
- User interface design
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
If you encounter any issues or have suggestions, please open an issue on GitHub.
For support and questions:
- Create an issue on GitHub
- Contact the authors directly via email
SecurePass Vault v2.0.1 - Secure, Modern, Beautiful Password Management