Skip to content

muhittincamdali/iOSAppTemplates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

<p align="center">
  <a href="README.md">πŸ‡ΊπŸ‡Έ English</a> |
  <a href="README_TR.md">πŸ‡ΉπŸ‡· TΓΌrkΓ§e</a>
</p>

╔══════════════════════════════════════════════════════════════════════════════════╗
β•‘                                                                                  β•‘
β•‘   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—                               β•‘
β•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—                              β•‘
β•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•                              β•‘
β•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β•šβ•β•β•β•β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•”β•β•β•β•                               β•‘
β•‘   β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘                                   β•‘
β•‘   β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•    β•šβ•β•  β•šβ•β•β•šβ•β•     β•šβ•β•                                   β•‘
β•‘                                                                                  β•‘
β•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•‘
β•‘   β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β• β•‘
β•‘      β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•‘
β•‘      β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•”β•β•β•  β•šβ•β•β•β•β–ˆβ–ˆβ•‘ β•‘
β•‘      β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β•‘
β•‘      β•šβ•β•   β•šβ•β•β•β•β•β•β•β•šβ•β•     β•šβ•β•β•šβ•β•     β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•   β•šβ•β•   β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β• β•‘
β•‘                                                                                  β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

10 production-ready iOS app templates with Clean Architecture, MVVM-C, and TCA patterns.
Stop building boilerplate. Start shipping features.

Stars Swift iOS visionOS SPM License CI

Features β€’ Quick Start β€’ Templates β€’ Architecture β€’ Who Is This For? β€’ Docs


πŸ‘€ Who Is This For?

You are... This helps you...
πŸ§‘β€πŸ’» Solo indie developer Skip weeks of setup. Get a working app skeleton with auth, networking, and navigation in minutes.
πŸ‘₯ Small team / startup Align the whole team on architecture from day one. Every template follows the same conventions.
πŸ“š Student / learner Study real-world patterns (MVVM-C, TCA, Clean Architecture) in complete, runnable projects.
🏒 Agency developer Pitch faster. Prototype client apps with full-featured templates, then customize.
πŸ”„ Switching from UIKit Every template is 100% SwiftUI with modern concurrency. Learn by reading production-quality code.

✨ Features

  • πŸ—οΈ Clean Architecture β€” Domain-driven design with clear separation
  • πŸ“± 10 App Categories β€” E-Commerce, Social, News, Fitness, Finance, Education, Food, Travel, Music, Productivity
  • 🎯 Multiple Patterns β€” MVVM-C, TCA, and Clean Architecture support
  • πŸ§ͺ Fully Tested β€” Unit tests, UI tests, and snapshot tests included
  • πŸ“– Well Documented β€” Comprehensive guides and API reference
  • πŸŒ™ Dark Mode β€” Full dark mode support out of the box
  • β™Ώ Accessible β€” VoiceOver and Dynamic Type ready
  • πŸš€ Production Ready β€” Used in real App Store apps
  • πŸ› οΈ CLI Generator β€” One command to scaffold a new project
  • πŸ“± 150+ Screens β€” Total across all templates

πŸ—οΈ Architecture

graph TB
    subgraph Presentation["πŸ“± Presentation Layer"]
        V[View]
        VM[ViewModel]
        C[Coordinator]
    end
    
    subgraph Domain["🎯 Domain Layer"]
        UC[Use Cases]
        E[Entities]
        RP[Repository Protocol]
    end
    
    subgraph Data["πŸ’Ύ Data Layer"]
        RI[Repository Impl]
        NS[Network Service]
        SS[Storage Service]
    end
    
    V --> VM
    VM --> C
    VM --> UC
    UC --> E
    UC --> RP
    RI --> RP
    RI --> NS
    RI --> SS
    
    style Presentation fill:#4A90D9,stroke:#2E5A8B,color:#fff
    style Domain fill:#50C878,stroke:#3D9B5C,color:#fff
    style Data fill:#FF6B6B,stroke:#CC5555,color:#fff
Loading

πŸš€ Quick Start

Option 1: Swift Package Manager

// Package.swift
dependencies: [
    .package(url: "https://github.com/muhittincamdali/iOSAppTemplates.git", from: "1.0.0")
]

Option 2: Template Generator CLI (Recommended)

Generate a complete, ready-to-run Xcode project in seconds:

# Clone the repo
git clone https://github.com/muhittincamdali/iOSAppTemplates.git
cd iOSAppTemplates

# Interactive mode β€” pick a template, name your app, done
swift Scripts/TemplateGenerator.swift --interactive

# Or generate directly
swift Scripts/TemplateGenerator.swift -t ecommerce -n "MyShop" -o ~/Desktop

# See all available templates
swift Scripts/TemplateGenerator.swift --list

Available templates: ecommerce Β· social Β· news Β· fitness Β· finance Β· education Β· food Β· travel Β· music Β· productivity

Option 3: Use as Code Reference

import iOSAppTemplates

// Social Media App β€” ready in seconds
let socialApp = SocialMediaTemplate()
    .withFeatures([.feed, .stories, .messaging, .profile])
    .withArchitecture(.mvvm)
    .build()

// E-Commerce App β€” complete shopping experience
let shopApp = ECommerceTemplate()
    .withFeatures([.productList, .cart, .checkout, .orders])
    .withPayment([.applePay, .stripe])
    .build()

// Finance App β€” bank-level security
let financeApp = FinanceTemplate()
    .withFeatures([.dashboard, .transactions, .cards])
    .withSecurity(.biometric)
    .build()

πŸ“¦ Templates (10 Complete Apps!)

# Category Screens Key Features Status
1 πŸ›’ E-Commerce 16+ Products, Cart, Checkout, Orders, Reviews, Wishlist βœ… Complete
2 πŸ“± Social Media 16+ Feed, Stories, Reels, Messages, Profile, Notifications βœ… Complete
3 πŸ“° News / Blog 14+ Articles, Categories, Bookmarks, Reader Mode, Search βœ… Complete
4 πŸƒ Fitness / Health 15+ Workouts, Activity, Nutrition, Progress, Achievements βœ… Complete
5 πŸ’° Finance 15+ Dashboard, Cards, Transactions, Budget, Investments βœ… Complete
6 πŸ“š Education 14+ Courses, Lessons, Quizzes, Progress, Certificates βœ… Complete
7 πŸ• Food Delivery 17+ Restaurants, Menu, Cart, Orders, Live Tracking βœ… Complete
8 ✈️ Travel 12+ Destinations, Flights, Hotels, Bookings, Itinerary βœ… Complete
9 🎡 Music / Podcast 14+ Player, Playlists, Library, Podcasts, Search βœ… Complete
10 βœ… Productivity 12+ Tasks, Projects, Notes, Focus Mode, Habits βœ… Complete

Every template includes: Dark Mode Β· Accessibility Β· Sample Data Β· Working Navigation Β· No Placeholders


πŸ“ Project Structure

iOSAppTemplates/
β”œβ”€β”€ πŸ“‚ Sources/
β”‚   β”œβ”€β”€ Core/                    # Shared utilities & extensions
β”‚   β”œβ”€β”€ SocialTemplates/         # Social media templates
β”‚   β”œβ”€β”€ CommerceTemplates/       # E-commerce templates
β”‚   β”œβ”€β”€ FinanceTemplates/        # Finance templates
β”‚   β”œβ”€β”€ HealthTemplates/         # Health & fitness
β”‚   β”œβ”€β”€ EducationTemplates/      # Education templates
β”‚   β”œβ”€β”€ TravelTemplates/        # Travel & booking
β”‚   β”œβ”€β”€ AITemplates/             # AI-powered templates
β”‚   └── ProductivityTemplates/   # Productivity apps
β”œβ”€β”€ πŸ“‚ Examples/                 # Sample implementations
β”œβ”€β”€ πŸ“‚ Tests/                    # Unit & UI tests
└── πŸ“‚ Documentation/            # Guides & API docs

πŸ’» Code Examples

Social Feed

struct FeedView: View {
    @StateObject private var viewModel = FeedViewModel()
    
    var body: some View {
        ScrollView {
            LazyVStack(spacing: 16) {
                ForEach(viewModel.posts) { post in
                    PostCard(post: post)
                        .onTapGesture { viewModel.openPost(post) }
                }
            }
            .padding()
        }
        .refreshable { await viewModel.refresh() }
    }
}

Shopping Cart

struct CartView: View {
    @StateObject private var viewModel = CartViewModel()
    
    var body: some View {
        List {
            ForEach(viewModel.items) { item in
                CartItemRow(item: item)
                    .swipeActions {
                        Button(role: .destructive) {
                            viewModel.remove(item)
                        } label: {
                            Label("Remove", systemImage: "trash")
                        }
                    }
            }
            
            Section {
                HStack {
                    Text("Total").font(.headline)
                    Spacer()
                    Text(viewModel.total, format: .currency(code: "USD"))
                        .font(.title2.bold())
                }
            }
        }
    }
}

πŸ“‹ Requirements

Requirement Version
iOS 15.0+
macOS 12.0+
visionOS 1.0+
Swift 5.9+
Xcode 15.0+

πŸ“– Documentation

Guide Description
Getting Started Installation and first steps
Template Guide How to use each template
Architecture Guide MVVM-C, TCA, Clean Architecture
API Reference Complete API documentation
Best Practices Tips for production apps

🀝 Contributing

Contributions are welcome! Please read our Contributing Guide.

# Fork, clone, and create a branch
git checkout -b feature/new-template

# Make changes and commit
git commit -m "feat(templates): add new template"

# Push and open PR
git push origin feature/new-template

πŸ“„ License

MIT License β€” see LICENSE for details.


πŸ‘¨β€πŸ’» Author

Muhittin Camdali

GitHub LinkedIn


⭐ Star this repo if you find it useful!


πŸ“ˆ Star History

Star History Chart

πŸ™ Contributors

Thanks to all the amazing people who have contributed!