Skip to content

PlaneInABottle/purrsuit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

129 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purrsuit Mobile App 🐾

Purrsuit is a cross-platform mobile application designed for tracking and managing pet encounters. Capture photos, log locations, and build your personal collection of animal friends found in the wild. Built with a focus on privacy, offline-first capability, and a delightful user experience.

✨ Features

  • 📸 Capture & Collect: Snap photos of cats, dogs, and other pets you meet.
  • 🗺️ Map Visualization: View your encounters on an interactive map using MapLibre (works offline!).
  • 📍 Location Tracking: Automatically tag encounters with GPS coordinates (privacy-focused, optional).
  • 🔒 Secure Storage: All your data is stored locally on your device, encrypted with AES-256 via MMKV and Expo SecureStore.
  • 📱 Offline First: Fully functional without an internet connection.
  • 🎨 Customization: Add moods, tags, and notes to every encounter.
  • 🌙 Dark Mode: Beautifully themed for both light and dark environments.

🛠️ Tech Stack

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/your-username/purrsuit-mobile.git
    cd purrsuit-mobile
  2. Install dependencies

    bun install
  3. Set up Environment Variables Copy the example environment file:

    cp .env.example .env

    Note: API keys are optional for development but required for Sentry reporting.

  4. Run the App

    # Start the development server
    bun start
    
    # Run on Android Emulator
    bun run android
    
    # Run on iOS Simulator
    bun run ios

🔐 Security & Privacy

Purrsuit is built with a "Privacy by Default" architecture:

  • Local-First: User data lives on the device. No cloud account is required.
  • Encrypted Storage: Sensitive data (locations, notes) is stored in MMKV using an encryption key secured by the device's hardware KeyStore/Keychain.
  • Production Hardening: Console logs are automatically stripped in production builds to prevent data leakage.
  • Dependency Safety: Dependencies are regularly audited for vulnerabilities.

🧪 Testing

We use Jest for unit/integration tests and Maestro for end-to-end testing.

# Run Unit Tests
bun run test

# Run Linting
bun run lint

🤝 Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.

📄 License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •