QUICK PASS is a comprehensive, enterprise-grade password manager application built with Flutter, designed to provide users with a secure, intuitive solution for managing their digital credentials. This production-ready application combines robust security features with an elegant user interface, supporting both online and offline operations.
- Overview
- Key Features
- Security Features
- Technical Architecture
- Core Functionality
- Getting Started
- Project Structure
- Development Setup
- Deployment
- Contributing
- License
QUICK PASS addresses the growing need for secure credential management in today's digital landscape. The application provides a centralized, encrypted vault for storing passwords, personal information, and sensitive data while maintaining the highest security standards. Built with a focus on user experience and enterprise-level security, it offers seamless synchronization across devices and robust offline capabilities.
The application targets both individual users seeking personal password management and organizations requiring secure credential sharing and management solutions. Its modular architecture allows for easy customization and integration with existing security infrastructure.
- Intuitive Interface: Clean, modern design optimized for mobile devices
- Dual Theme Support: Comprehensive light and dark mode implementation
- Responsive Design: Optimized layouts for various screen sizes and orientations
- Smooth Animations: Fluid transitions and micro-interactions throughout the app
- Accessibility: Built-in support for screen readers and accessibility features
- Secure Storage: End-to-end encryption for all stored credentials
- Advanced Password Generator: Customizable password creation with strength analysis
- Password Health Monitoring: Real-time analysis of password strength and security
- Duplicate Detection: Automatic identification of reused passwords
- Compromise Detection: Built-in checks against common password vulnerabilities
- Cloud Synchronization: Seamless data sync across multiple devices via Supabase
- Offline Support: Full functionality without internet connectivity
- Local Database: SQLite-based local storage for offline operations
- Automatic Backup: Regular data backup to prevent data loss
- Conflict Resolution: Intelligent merging of data conflicts during sync
- Biometric Authentication: Fingerprint and face recognition support
- Multi-Factor Authentication: Additional security layers for enhanced protection
- Session Management: Secure session handling with automatic timeout
- Device Registration: Trusted device management and recognition
- AES-256 Encryption: Military-grade encryption for all stored data
- Secure Storage: Flutter Secure Storage implementation for sensitive data
- Zero-Knowledge Architecture: Server cannot access unencrypted user data
- Secure Communication: HTTPS/TLS encryption for all network communications
- Local Encryption: Additional encryption layer for offline data
- Data Minimization: Collection of only essential user information
- GDPR Compliance: Built-in privacy controls and data management features
- Audit Logging: Comprehensive logging for security monitoring
- Data Export: User-controlled data export functionality
- Flutter 3.7.2+: Cross-platform mobile development framework
- Dart: Primary programming language with null safety
- Material Design 3: Modern design system implementation
- Riverpod 2.6.1: Robust state management with dependency injection
- Go Router 15.2.3: Declarative routing with deep linking support
- Provider Pattern: Clean separation of business logic and UI
- Supabase: Cloud database with real-time synchronization
- SQLite: Local database for offline functionality
- Flutter Secure Storage: Encrypted local storage for sensitive data
- Path Provider: Cross-platform file system access
- Local Authentication: Biometric and PIN-based authentication
- Supabase Auth: Cloud-based user authentication and management
- HTTP Client: Secure API communication with proper error handling
- Google Fonts: Typography and font management
- Image Picker: Profile picture and attachment handling
- Connectivity Plus: Network status monitoring
- Flutter Toast: User feedback and notifications
- Shimmer: Loading state animations
- Comprehensive onboarding flow with feature introduction
- Secure user registration and login processes
- Password recovery and account management
- Biometric setup and configuration
- Create, read, update, and delete password entries
- Organize credentials by categories and tags
- Search and filter functionality for quick access
- Detailed credential information with custom fields
- Advanced password generator with customizable parameters
- Password strength analysis and recommendations
- Security audit and compromise detection
- Password history and change tracking
- User profile management with avatar support
- Security settings and authentication preferences
- Theme customization and accessibility options
- Data export and account management tools
- Real-time data synchronization across devices
- Offline mode with automatic sync when online
- Conflict resolution for concurrent modifications
- Backup and restore functionality
Before running this application, ensure you have the following installed:
- Flutter SDK (3.7.2 or higher)
- Dart SDK (3.0.0 or higher)
- Android Studio or VS Code with Flutter extensions
- Xcode (for iOS development on macOS)
- Git for version control
-
Clone the repository
git clone https://github.com/alphabetic100/quick_pas.git cd quick_pas -
Install dependencies
flutter pub get
-
Configure Supabase (Optional for cloud features)
- Create a Supabase project at supabase.com
- Update the configuration in
lib/src/app/core/constants/database/superbase_const.dart - Replace the placeholder values with your Supabase URL and API key
-
Generate native splash screen and launcher icons
dart run flutter_native_splash:create dart run flutter_launcher_icons
-
Run the application
flutter run
The application follows a clean architecture pattern with clear separation of concerns:
lib/
├── src/
│ ├── app/
│ │ ├── core/ # Core utilities and constants
│ │ │ ├── common/ # Shared widgets and screens
│ │ │ ├── constants/ # App constants and asset paths
│ │ │ ├── helpers/ # Utility functions
│ │ │ ├── utils/ # Color schemes, themes, validators
│ │ │ └── ...
│ │ ├── features/ # Feature-specific modules
│ │ │ ├── authentication/ # Login, signup, password recovery
│ │ │ ├── home/ # Dashboard and password listing
│ │ │ ├── add_pass/ # Password creation and generation
│ │ │ ├── details&upgrade/ # Password viewing and editing
│ │ │ ├── profile/ # User profile and settings
│ │ │ ├── onboardings/ # App introduction screens
│ │ │ └── splash/ # Splash screen logic
│ │ ├── service/ # Core services
│ │ │ ├── connectivity_service.dart
│ │ │ ├── local_database_service.dart
│ │ │ ├── secure_storage_service.dart
│ │ │ └── sync_service.dart
│ │ └── quick_pass_app.dart # Main app widget
│ └── routes/ # Navigation and routing
android/ # Android-specific configurations
ios/ # iOS-specific configurations
assets/ # Images, logos, and static assets
-
Development Mode: The application runs in development mode by default with debug logging enabled.
-
Production Build: For production builds, ensure all debug flags are disabled and API keys are properly configured.
-
Testing: The project includes unit tests and widget tests. Run tests with:
flutter test
- Linting: The project uses
flutter_lintsfor code quality enforcement - Formatting: Use
flutter format .to maintain consistent code formatting - Analysis: Run
flutter analyzeto check for potential issues
Android APK:
flutter build apk --releaseAndroid App Bundle:
flutter build appbundle --releaseiOS:
flutter build ios --release- Configure app signing in Android Studio or use Play App Signing
- Update
android/app/build.gradlewith proper signing configuration - Build release AAB:
flutter build appbundle --release - Upload to Google Play Console
- Configure iOS certificates and provisioning profiles in Xcode
- Update
ios/Runner.xcworkspacewith proper team and bundle identifier - Build for iOS:
flutter build ios --release - Archive and upload through Xcode or Application Loader
- Ensure all API keys and sensitive configuration are properly secured
- Enable code obfuscation for production builds
- Implement certificate pinning for enhanced security
- Regular security audits and dependency updates
We welcome contributions to QUICK PASS! Please follow these guidelines:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow Dart and Flutter best practices
- Maintain consistent code formatting
- Write comprehensive tests for new features
- Update documentation for significant changes
- Ensure all CI/CD checks pass
When reporting bugs, please include:
- Device and OS version
- Flutter and Dart versions
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots or logs if applicable
This project is licensed under the MIT License - see the LICENSE file for details.
For support, bug reports, or feature requests:
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
QUICK PASS - Secure, Simple, Swift Password Management
Built with ❤️ using Flutter
