Skip to content

An exercise in SwiftUI, SwiftData and XCUITest. Helping users track their grocery spending and split spending categories as they shop.

License

Notifications You must be signed in to change notification settings

camdenwebster/CartCopilot

Repository files navigation

CartCopilot

Overview

CartCopilot is an iOS application designed to streamline the grocery shopping experience by providing real-time cost tracking and shopping list management. Users can maintain their shopping lists, track expenses as they shop, and analyze their shopping history to make informed purchasing decisions.

Key Features

Shopping Trip Management

  • Create and manage shopping trips with store-specific details
  • Real-time cost calculation including tax rates
  • Running total display while shopping
  • Trip history with detailed cost breakdown

Item Management

  • Maintain a database of frequently purchased items
  • Categorize items with custom categories
  • Track item price history
  • Barcode scanner for quick item addition

Store and Category Management

  • Custom store profiles
  • Category management with specific tax rates
  • Historical data tracking per store

User Experience

  • Intuitive tab-based navigation
  • Clean, modern SwiftUI interface
  • Real-time calculations and updates
  • Offline-first architecture

Technical Implementation

This project demonstrates proficiency in modern iOS development concepts and best practices:

Architecture & Design Patterns

  • SwiftData for persistent storage
  • MVVM (Model-View-ViewModel) architecture
  • Protocol-oriented programming
  • Dependency injection
  • Singleton pattern for shared services

SwiftUI Features

  • Custom view modifiers
  • Complex view hierarchies
  • State and data management
  • Custom animations and transitions
  • Tab-based navigation

Data Management

  • SwiftData model relationships
  • Complex data transformations
  • Efficient data querying
  • Data migration strategies

Modern Swift Features

  • Property wrappers
  • Result type error handling
  • Async/await concurrency
  • Strong type safety

Best Practices

  • Privacy-focused design
  • Anonymous analytics integration
  • Comprehensive unit testing
  • Clean code architecture
  • Code documentation

Additional Skills

  • Camera integration for barcode scanning
  • Custom formatting for currency and numbers
  • User preference management
  • Performance optimization

Privacy

CartCopilot is designed with user privacy in mind. All shopping data is stored locally on the device, and only anonymous analytics are collected to improve the app experience. For more details, see our Privacy Policy.

Requirements

  • iOS 18.1 or later
  • Xcode 16.1 or later
  • Swift 5.10 or later

Installation

  1. Clone the repository
  2. Open CartCopilot.xcodeproj in Xcode
  3. Build and run the project

License

GPL-3.0

Contact

[email protected]

About

An exercise in SwiftUI, SwiftData and XCUITest. Helping users track their grocery spending and split spending categories as they shop.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages