Skip to content

rishishAryal/ScanUp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DocumentScanner (ScanUp)

A powerful, privacy-first, and local-first iOS application for document scanning and management. Built natively using SwiftUI and SwiftData.

✨ Features

  • Local-First & Blazing Fast: Engineered with SwiftData for highly optimized offline document filtering and sorting, ensuring zero UI lag even with large libraries.
  • Biometric Security: Built-in global application privacy lock leveraging Face ID / Touch ID (LocalAuthentication).
  • Modern SwiftUI Interface: Premium design omitting heavy 3D effects for a buttery-smooth aesthetic. Features intuitive namespace-based "Morphing Pill" indicators and premium fluid transitions.
  • Advanced Document Organization: Organize scans with folders, tags, and intelligent search capabilities.
  • System Customization: First-class support for dynamically switching between Light (.light), Dark (.dark), and System themes directly within the app settings.

πŸ›  Technologies Used

  • Swift & SwiftUI: Completely declarative UI written in Modern Swift.
  • SwiftData: Powers persistent local caching, model containers, and background data operations.
  • LocalAuthentication: Tight hardware-secured document protection.
  • VisionKit (VNDocumentCameraViewController): Native document scanning flow.

πŸš€ Getting Started

Prerequisites

  • iOS 18.0+
  • Xcode 16.0+ or newer
  • An active Apple Developer Account

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/your-username/DocumentScanner.git
    cd DocumentScanner
  2. Open the project in Xcode: Double-click the DocumentScanner.xcodeproj file.

  3. Configure Capabilities & Signing:

    • Go to your Project Target -> Signing & Capabilities.
    • Change the Bundle Identifier and set your Team to your developer account.
  4. Build and Run:

    • Select your target device. (Note: A physical device is recommended to effectively test document camera functionality and Face ID).
    • Hit Cmd + R to deploy.

πŸ— Architecture Highlights

  • Offloaded Heavy Lifting: Filtering, sorting, and tag logic are handled within SwiftData's database engine in tandem with memoization techniques, decoupling expensive operations from the main UI thread.
  • State-Driven Routing: Global app state dictates smooth security overlays without requiring heavy navigational wrappers.

πŸ“„ License

This project is open-source and available under the terms of the MIT License. Feel free to fork, modify, and build upon it!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages