Skip to content

noxtton/pearpass-app-mobile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pearpass logo

pearpass-app-mobile

PearPass Mobile App is a secure and user-friendly password management solution designed for mobile devices. It allows users to store, generate, and manage their passwords across different platforms with strong encryption.

Table of Contents

Features

  • Secure password, identity, and credit card, notes and custom fields storage
  • Biometric authentication (fingerprint and face recognition)
  • Cross-device and platform synchronization
  • Offline access to your credentials
  • Encryption for data security
  • Password strength analysis
  • Random password generator
  • Easy-to-use interface

Installation

Node.js: Ensure you have the correct Node.js version installed. You can check the required version in the .nvmrc file. And ensure it matches to your current node version by running:

node --version
# Clone the repository
git clone git@github.com:tetherto/pearpass-app-mobile.git

# Navigate to the project directory
cd pearpass-app-mobile

# Initialize and update submodules
git submodule update --init --recursive

# To update all submodules to the latest `main` branch, use the provided script. 
npm run update-submodules

# In case of specific remote use:
npm run update-submodules -- [remote-name]

# Install dependencies
npm install

# generate translation keys
npm run lingui:extract

npm run lingui:compile

# Generate worklet bundles
npm run bundle-bare

Starting the Application

Before starting the application, you need to build it first. The build command produces bundles for iOS, iOS extension, and Android, and also runs custom prebuild:

# Build the application
npm run build

# Then start on your preferred platform
npm run ios      # For iOS
npm run android  # For Android

Prebuild Instructions

⚠️ Important: Always use custom prebuild scripts instead of expo prebuild directly.

Available Scripts:

  • npm run custom-prebuild - Standard prebuild for both platforms
  • npm run custom-prebuild:clean - Clean prebuild (recommended)
  • npm run custom-prebuild:ios - iOS only
  • npm run custom-prebuild:android - Android only

Why use custom scripts?

These scripts automatically handle custom splash screen configuration during the prebuild process.

Usage:

# Most common - clean prebuild for both platforms
npm run custom-prebuild:clean

# iOS only
npm run custom-prebuild:ios

# Android only
npm run custom-prebuild:android

Testing

Unit Testing

Run unit tests with Jest:

npm test

End-to-End Testing with Maestro

PearPass uses Maestro for end-to-end testing. Maestro allows you to write UI tests in simple YAML format.

Installation

  1. Install Maestro CLI:
# macOS
brew tap mobile-dev-inc/tap
brew install maestro
  1. Verify installation:
maestro --version

Running E2E Tests

Run a specific test flow:

maestro test e2e/welcome/passwordCreate.yaml

Run all test flows:

maestro test -e e2e/

Creating Maestro Tests

Each test file must have:

  1. A config section with appId
  2. A commands section after the "---" separator

Example:

appId: com.pears.pass
---
- launchApp
- assertVisible: 'Master password'
- tapOn:
    text: 'Master password'

For more information, refer to the Maestro documentation.

Dependencies

Related Projects

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 68.8%
  • Java 14.9%
  • Swift 11.1%
  • TypeScript 2.1%
  • Kotlin 1.6%
  • Objective-C 0.8%
  • Other 0.7%