OneLock is a professional-grade password and credential manager built with React Native, Expo, and TypeScript. It provides secure storage, biometric authentication, and comprehensive password management features with a modern, user-friendly interface.
- Master Password Protection: Encrypted master password with strength validation
- Biometric Authentication: Face ID, Touch ID, and fingerprint support
- Auto-Lock: Configurable auto-lock timer for enhanced security
- Mock Encryption: Demonstrates encryption concepts (production-ready implementation available)
- Secure Local Storage: Uses Expo SecureStore for sensitive data
- Password Vault: Secure storage and organization of passwords
- Password Generator: Customizable password generation with strength indicators
- Password Strength Checker: Real-time password strength analysis
- Breach Check Simulation: Mock implementation of password breach checking
- Categories & Tags: Organize passwords by category (Social, Finance, Work, etc.)
- Search & Filter: Advanced search and filtering capabilities
- Favorites: Mark important passwords as favorites
- Import/Export: Data management features (planned)
- Modern UI: Colorful, friendly design with professional execution
- Responsive Design: Optimized for both iOS and Android
- Smooth Animations: React Native Reanimated for fluid interactions
- Haptic Feedback: Tactile feedback for important actions
- Dark/Light Themes: Theme customization options
- Accessibility: WCAG compliant design patterns
/app - Main app screens (Expo Router)
/components - Reusable UI components
/mockData - Sample password data
/services - Core business logic
/utils - Utility functions
/types - TypeScript type definitions
/constants - App constants and themes
/docs - Documentation
/tests - Test files
- React Native: Cross-platform mobile development
- Expo: Development platform and build tools
- TypeScript: Type-safe JavaScript
- Expo Router: File-based navigation
- Zustand: Lightweight state management
- Expo SecureStore: Secure local storage
- Expo LocalAuthentication: Biometric authentication
- React Native Reanimated: Smooth animations
- Node.js 18+
- npm or yarn
- Expo CLI
- iOS Simulator or Android Emulator (for development)
- Physical device with Expo Go app (for testing)
-
Clone the repository
git clone <repository-url> cd OneLock
-
Install dependencies
npm install
-
Start the development server
npm start
-
Run on device/simulator
npm run ios # iOS Simulator npm run android # Android Emulator
Note: For Android emulator setup, see the detailed Android Emulator Setup Guide
-
Install EAS CLI
npm install -g eas-cli
-
Login to Expo
eas login
-
Configure build
eas build:configure
-
Build for development
eas build --profile development
- TypeScript strict mode enabled
- ESLint configuration for code quality
- Consistent naming conventions
- Comprehensive error handling
- Modular component architecture
- Unit tests for utility functions
- Component testing with React Native Testing Library
- Integration tests for critical flows
- Mock implementations for external dependencies
- Master password hashing (mock implementation)
- Secure key storage using Expo SecureStore
- Biometric authentication integration
- Auto-lock functionality
- Input validation and sanitization
- Compatible with Expo Go app
- Hot reloading enabled
- Debug mode available
- Standalone app builds
- App Store and Google Play Store ready
- Optimized bundle size
- Production-ready security implementations
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Check the documentation in
/docs - Review the code comments for implementation details
- ✅ Core password management
- ✅ Biometric authentication
- ✅ Password generator
- ✅ Basic security features
- 🔄 Real encryption implementation
- 🔄 Cloud sync capabilities
- 🔄 Advanced import/export
- 🔄 Password sharing
- 🔄 Team collaboration features
- 🔄 Advanced security analytics
- 🔄 Third-party integrations
- 🔄 Enterprise features