Ever wondered "Do I already own this?" while shopping? Or spent hours searching for something you know you have but can't remember where? Cubby solves these everyday problems by helping you catalog and locate your belongings across multiple homes and storage locations.
- π Multiple Homes - Track items across different properties
- π Hierarchical Storage - Organize with nested locations (Home β Bedroom β Closet β Top Shelf)
- πΈ Visual Inventory - Add photos to easily identify items
- π Smart Search - Quickly find any item across all locations
- π± Native iOS Design - Built with SwiftUI for a seamless Apple experience
- βοΈ CloudKit Ready - Infrastructure for future sync capabilities
- π Undo Support - Recover accidentally deleted items
- macOS 14.0 or later
- Xcode 15.0 or later
- iOS 17.0+ deployment target
-
Clone the repository
git clone https://github.com/barronlroth/Cubby.git cd Cubby
-
Open in Xcode
open Cubby.xcodeproj
-
Build and Run
- Select your target device or simulator
- Press
Cmd + R
to build and run
# Build the project
xcodebuild -project Cubby.xcodeproj -scheme Cubby build
# Run tests
xcodebuild -project Cubby.xcodeproj -scheme Cubby test
# Build for release
xcodebuild -project Cubby.xcodeproj -scheme Cubby -configuration Release build
- Create Your First Home - Name your primary residence or storage location
- Add Storage Locations - Create a hierarchy of storage areas (rooms, furniture, containers)
- Add Items - Catalog your belongings with photos and descriptions
- Start with broad categories (rooms) and get more specific (drawers, shelves)
- Use consistent naming conventions for easier searching
- Take clear photos for visual identification
- Add descriptions for items that look similar
Home: "Main Residence"
βββ Bedroom
βββ Closet
βββ Top Shelf
βββ Winter Clothes Box
βββ Items: Wool Sweater, Ski Gloves, Winter Hat
- SwiftUI - Modern declarative UI framework
- SwiftData - Apple's latest persistence framework with automatic CloudKit sync capabilities
- Swift Testing - New testing framework for robust unit tests
- PhotosUI - Native photo selection and capture
- NSCache - Efficient photo caching (50MB limit)
Cubby/
βββ Models/ # SwiftData models
βββ Views/ # SwiftUI views
βββ Services/ # Business logic
βββ ViewModels/ # View-specific logic
βββ Utils/ # Helper utilities
- MVVM Architecture - Clean separation of concerns
- Dependency Injection - Via SwiftUI environment
- Reactive UI - Automatic updates with @Query
- Protocol-Oriented - Testable and modular code
Run the test suite:
xcodebuild -project Cubby.xcodeproj -scheme Cubby test
- Unit tests for models and business logic
- UI tests for critical user flows
- Performance tests for large datasets
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Follow Swift API Design Guidelines
- Write unit tests for new features
- Update documentation as needed
- Keep commits atomic and descriptive
-
v1.0 - Core inventory management
- Multiple homes support
- Hierarchical storage locations
- Photo management
- Search functionality
- Comprehensive testing
- App Store release
-
v2.0 - Sync & Sharing
- CloudKit sync across devices
- Family sharing
- Export/Import functionality
-
v3.0 - Advanced Features
- Barcode scanning
- Purchase tracking
- Maintenance reminders
- Categories and tags
- Performance not tested with 1000+ items
- Empty storage locations don't appear in home view (by design)
- See Issues for more
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Swift and SwiftUI
- App icon features an adorable bear cub crafted with AI
- Inspired by the universal struggle of finding things
Barron Roth - @barronlroth
Project Link: https://github.com/barronlroth/Cubby