Skip to content

About

SwiftUI iOS app for creating PDF quotations and Excel sales reports for field sales workflows

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Quantaflow

PDF Quotation & Excel Sales Report Generator for Field Sales

営業向けPDF見積書・Excel売上レポート生成アプリ

Quantaflow is a SwiftUI iOS app designed for field sales staff to create PDF quotations and Excel sales reports quickly on iPhone.

Overview

The app provides a mobile workflow for managing customers, entering quotation items, applying discounts and taxes, collecting customer signatures, and exporting business documents. It is designed as a local-first portfolio project with Japanese, English, and Traditional Chinese interface support.

日本語概要:
Quantaflowは、外勤営業担当者がiPhone上でPDF見積書とExcel売上レポートを素早く作成できるSwiftUI製のiOSアプリです。

Features

  • Splash screen, onboarding, home dashboard, quotation list, customer list, and settings
  • 5-step quotation creation flow for customer selection, items, pricing, preview, and export
  • Customer management with create, edit, and delete operations
  • Quote item management with support for up to 20 independent items per quotation
  • Tax settings with tax-exclusive and tax-inclusive calculation modes
  • Fixed-amount and percentage-based discounts
  • Customer handwritten or typed signature
  • Company information and company logo upload from the photo library
  • PDF preview, share, save to Files, email sharing, and printing
  • Excel sales report export as a real .xlsx file
  • Dashboard with monthly and yearly sales summaries
  • Quotation status management for processing and accepted records
  • Language settings: Japanese, English, and Traditional Chinese
  • Light and Dark mode support

Tech Stack

  • Swift
  • SwiftUI
  • PDFKit
  • UIKit
  • MessageUI
  • XCTest
  • GitHub Actions

Testing

Quantaflow includes unit tests for core business logic.

Test coverage includes quote item quantity × unit price, subtotal calculation, tax calculation, discount calculation, total amount calculation, rounding behavior, quote number generation, and edge cases such as zero amount, zero quantity, decimal amount, and large amount.

Local verification: Product > Test has succeeded in Xcode.

The QuantaflowTests target and shared scheme are included.

GitHub Actions

This repository includes a GitHub Actions workflow for iOS CI.

  • Workflow file: .github/workflows/ios-ci.yml
  • Runs on push to main
  • Runs on pull requests targeting main
  • Uses a macOS runner
  • Executes xcodebuild for build and unit test verification

GitHub Actions should be checked after pushing the project to GitHub for the first time.

Security & Privacy

Quantaflow is currently designed as a local-first iOS app. Customer data, quote data, company data, app preferences, and generated quote-related records are stored locally on the user's device. Structured records are currently encoded and stored with UserDefaults, while generated PDF and Excel files are written to the app's local Documents directory.

The app does not currently send customer, quote, or company records to a custom backend server, and it does not include third-party analytics. Exporting or sharing a document is an explicit user action performed through iOS system features such as the share sheet, Files, Mail, AirDrop, or printing.

The current local storage design is not fully encrypted at the application layer. Although iOS provides platform-level sandboxing and device data protection, this project does not yet use an encrypted database or application-managed encryption keys.

App Lock, Face ID, and Touch ID authentication are not implemented because the current UI does not expose an App Lock control. The app should not be presented as having a complete security design.

This is a known limitation rather than an ignored risk. Planned security improvements include:

  • Encrypted local storage for customer, quote, and company records
  • Keychain-based encryption-key management
  • App Lock using Apple's LocalAuthentication framework with Face ID or Touch ID
  • A clearer and more complete data-deletion flow, including generated files
  • Export history protection and lifecycle management
  • An optional backup strategy that is disabled by default and enabled only with clear user consent

For a production release, these improvements should be completed together with threat modeling, privacy-policy review, device-level testing, and documented data-retention behavior.

Project Structure

  • Quantaflow.xcodeproj — Xcode project
  • Quantaflow/ — SwiftUI app source code, models, local storage, PDF generation, and Excel export
  • QuantaflowTests/ — Unit tests for quotation business logic
  • .github/workflows/ios-ci.yml — GitHub Actions workflow
  • docs/ — UI transition and design reference documents

How to Run

  1. Open Quantaflow.xcodeproj with Xcode 16.2 or later.
  2. Select an iPhone simulator or a physical iPhone.
  3. Run the app.
  4. The first launch shows the Japanese onboarding flow.

Main Screens

Screenshots will be added here.

Future Improvements

  • App Lock with Face ID / Touch ID
  • Encrypted local storage
  • Keychain-based key management
  • Improved generated-file deletion flow
  • Export history protection
  • Optional backup strategy with explicit user consent
  • More detailed UI tests

About

SwiftUI iOS app for creating PDF quotations and Excel sales reports for field sales workflows

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages