- On app launch, a branded animated splash screen is shown with Floor & Decor branding.
- The splash screen features the Floor & Decor logo with animated entrance and tagline.
- Uses Floor & Decor's signature red gradient background.
- Auto-dismisses after 3 seconds with smooth transition to the main app.
- The splash screen is implemented in
SplashScreenView.swiftusing SwiftUI animations.
- No external video files required - uses native SwiftUI animations.
- Smooth transitions and proper app lifecycle handling.
A comprehensive iOS application for Floor & Decor, featuring product browsing, AR preview, store locator, loyalty program, and more.
This iOS app replicates the core functionality of Floor & Decor's website with additional mobile-specific features like AR preview and location-based services.
- Sign up/in with email, social login (Apple, Google)
- Persona selection (Pro/DIY) during onboarding
- Profile management with preferences and settings
- Secure authentication with password reset functionality
- Category browsing with visual category cards
- Advanced search with filters and sorting
- Product detail pages with images, specifications, and reviews
- Real-time inventory checking
- Wishlist functionality
- Add/remove items with quantity management
- Price calculation with tax and shipping
- Payment integration (Apple Pay, Google Pay, credit cards)
- Order confirmation and tracking
- Pickup reservation at local stores
- Map integration with Apple Maps
- Real-time inventory per store location
- Store hours and contact information
- Directions and navigation
- Store services (design, installation, pro services)
- Digital loyalty card with tier system
- Points tracking and earning
- Rewards catalog with redemption
- Tier benefits (Bronze, Silver, Gold, Platinum)
- "See in My Room" feature for flooring
- Camera access with surface detection
- Product overlay with realistic rendering
- Lighting simulation for different conditions
- Measurement tools for accurate coverage
- Bulk order tools for contractors
- Business account management
- Pro-exclusive deals and pricing
- Project management tools
- Installation services booking
- Calculators (square footage, cost estimation)
- How-to guides and video tutorials
- Inspiration galleries and design ideas
- Installation guides and tips
- Live chat integration
- FAQ system with search
- Contact forms and support tickets
- Order tracking and status updates
- WCAG compliance for all UI components
- VoiceOver support with proper labels
- Dynamic Type support for text scaling
- High contrast mode support
- Promotional notifications for deals
- Order updates and tracking
- Store availability alerts
- Loyalty program notifications
- User behavior tracking
- Conversion tracking for purchases
- Feature usage analytics
- Performance monitoring
- Secure storage for sensitive data
- API authentication with tokens
- Biometric authentication support
- Data encryption for user information
- Product: Complete product information with specifications
- User: User profile with preferences and loyalty data
- Cart/Order: Shopping cart and order management
- Store: Store locations with services and inventory
- Loyalty: Points, tiers, and rewards system
MainTabView
โโโ HomeView (Featured products, deals, quick actions)
โโโ CatalogView (Product browsing, search, filters)
โโโ ARView (Augmented reality preview)
โโโ StoreLocatorView (Store finder with map)
โโโ ProfileView (User account, orders, loyalty)
- Authentication Flow: Multi-step signup with persona selection
- Product Grid: Responsive product display with filtering
- AR Integration: Camera-based product visualization
- Store Locator: Map-based store finder with real-time data
- Loyalty System: Points tracking and rewards redemption
- Xcode 14.0 or later
- iOS 16.0 or later
- Swift 5.7 or later
-
Clone the repository
git clone https://github.com/yourusername/floor-decor-ios.git cd floor-decor-ios -
Open in Xcode
open FloorDecorDemo.xcodeproj
-
Build and Run
- Select your target device or simulator
- Press
Cmd + Rto build and run
The app is designed to integrate with Floor & Decor's API endpoints. Update the following in your environment:
// API Configuration
struct APIConfig {
static let baseURL = "https://api.flooranddecor.com"
static let apiKey = "YOUR_API_KEY"
}For store locator functionality, configure Apple Maps:
// In Info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need your location to show nearby stores</string>For AR features, ensure camera permissions are properly configured:
// In Info.plist
<key>NSCameraUsageDescription</key>
<string>Camera access is needed for AR product preview</string>Run unit tests with:
xcodebuild test -scheme FloorDecorDemo -destination 'platform=iOS Simulator,name=iPhone 14'Run UI tests with:
xcodebuild test -scheme FloorDecorDemo -destination 'platform=iOS Simulator,name=iPhone 14' -only-testing:FloorDecorDemoUITests- UI test
testLogoTapPresentsSplashScreenverifies that tapping the logo presents the splash screen.
- Home Screen: Featured products, deals, and quick actions
- Catalog: Product browsing with search and filters
- AR Preview: Camera-based product visualization
- Store Locator: Map-based store finder
- Profile: User account management and loyalty
- Login: Email/password and social login options
- Signup: Multi-step registration with persona selection
- Onboarding: User preference setup and terms acceptance
- Follow Swift style guidelines
- Use SwiftUI for all UI components
- Implement MVVM architecture pattern
- Use Combine for reactive programming
FloorDecorDemo/
โโโ Models/ # Data models
โโโ Views/ # SwiftUI views
โ โโโ Authentication/
โ โโโ Components/
โ โโโ ...
โโโ Services/ # API and business logic
โโโ Utilities/ # Helper functions
โโโ Resources/ # Assets and configuration
- Create Data Models in
Models/directory - Add Views in appropriate
Views/subdirectory - Implement Services for API calls
- Add Unit Tests for new functionality
- Update Documentation in README
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Floor & Decor for inspiration and product information
- Apple for SwiftUI and AR frameworks
- SwiftUI Community for best practices and examples
For support and questions:
- Create an issue in this repository
- Contact the development team
- Check the documentation in the
/docsfolder
Note: This is a demo application showcasing the potential features for a Floor & Decor iOS app. It uses mock data and simulated API calls. For production use, integrate with actual Floor & Decor APIs and services.
- The bottom navigation bar (tab bar) matches the Floor & Decor website:
- White background
- Bold, uppercase black text for unselected items
- Floor & Decor red (#C8102E) for selected item text and icon
- Modern sans-serif font, bold, size 12
- See
MainTabView.swiftandFloorDecorDemoApp.swiftfor implementation details.
- The app includes optimized launch performance to prevent "CA Event" measurement errors
- Splash screen video loads asynchronously with proper loading states
- Fallback handling if video fails to load (auto-dismisses after 2 seconds)
- Smooth transitions between splash screen and main app
- Proper app lifecycle handling to ensure first frame presentation metrics work correctly