Amata, restoran ve cafe işletmeleri için geliştirilmiş modern bir mobil sipariş uygulamasıdır. Müşterilerin masalarından doğrudan sipariş verebilecekleri bu iOS uygulaması, QR kod tarama, menü yönetimi, sipariş takibi ve favoriler sistemi gibi gelişmiş özellikler sunar.
Amata, Apple'ın minimalizm felsefesi ile Paris kahvehanelerinin sıcak atmosferini birleştiren "premium ama samimi" bir kullanıcı deneyimi sunar. Uygulama, SwiftUI ve MVVM mimarisi kullanılarak geliştirilmiştir ve iOS 17+ cihazlarda çalışır.
- Modern Menü Görüntüleme: Glassmorphism, parallax scroll ve 3D efektlerle zengin menü deneyimi
- Kategorilere Ayrılmış Menü: Kahve, Pastane, Soğuk İçecekler, Atıştırmalıklar, Tatlılar
- Akıllı Arama: Menü öğelerinde anlık arama ve filtreleme (keyboard dismiss desteği)
- Ürün Detay Sayfası: Modern tasarım, parallax hero section, 3D rotation efektleri, büyük görseller, detaylı açıklamalar
- Sepet Yönetimi: Floating cards, glassmorphism, modern quantity controls, 3D effects
- Özel Notlar: Siparişe özel talimatlar, alerji bilgileri ve özel istekler ekleme
- Sipariş Düzenleme: Bekleyen siparişleri düzenleme ve değiştirme
- QR Kod Tarama: Gerçek zamanlı kamera entegrasyonu ile masa numarası otomatik seçimi
- Sipariş Takibi: Gerçek zamanlı sipariş durumu takibi (Beklemede → Hazırlanıyor → Hazır) - animasyonlu progress indicator
- Favoriler Sistemi: Ürünleri favorilere ekleme, kategorilere ayrılmış görüntüleme ve hızlı erişim
- Sipariş Geçmişi: Geçmiş siparişleri görüntüleme, detaylı bilgiler ve yeniden sipariş verme
- Kullanıcı Profili: Kişisel bilgiler (isim, email, telefon), profil fotoğrafı
- İstatistikler: Favori sayısı, sipariş geçmişi, sepet ürünleri
- Tercihler: Bildirim ayarları, dil tercihleri
- Üyelik Bilgileri: Üye olma tarihi ve hesap detayları
- Glassmorphism: Ultra thin material efektleri ile şeffaf kartlar
- Parallax Scrolling: Derinlik hissi veren parallax scroll efektleri
- 3D Effects: Rotation ve perspective efektleri ile 3D görünümler
- Floating Elements: Yüzen butonlar, kartlar ve animasyonlu öğeler
- Gradient Backgrounds: Canlı gradient animasyonları ve geçişler
- Particle Effects: Arka plan parçacık efektleri ve coffee steam animasyonları
- Shimmer Effects: Yanıp sönen ışık efektleri (shimmer) butonlarda ve kartlarda
- Staggered Animations: Kademeli animasyonlar ile akıcı geçişler
- Glow Effects: Radial glow efektleri ve ışık halkaları
- Çoklu Dil Desteği: Türkçe ve İngilizce tam lokalizasyon (100+ string)
- Özel Tema: Sıcak kahve tonlarında (#EDE0D4, #DDB892, #B08968, #7F5539) premium ve sıcak tasarım
- Animasyonlar: Yumuşak spring animasyonları, coffee steam efekti, pulse ve breathing animasyonları
- Haptic Feedback: Light, Medium, Heavy seviyelerinde dokunsal geri bildirimler
- Context Menu: Ürün kartlarında haptic touch (3D Touch) desteği
- Adaptif UI: iPhone ve iPad için optimize edilmiş responsive arayüz
Amata uygulaması, modern iOS geliştirme standartlarına uygun olarak geliştirilmiştir:
- SwiftUI 5.0: Apple'ın modern ve bildirim tabanlı UI framework'ü
- Swift 5.9+: Güçlü ve güvenli programlama dili
- MVVM Mimarisi: Model-View-ViewModel pattern ile temiz kod organizasyonu
- Combine Framework: Reactive programlama ve asenkron veri akışı yönetimi
- AVFoundation: QR kod tarama için gerçek zamanlı kamera entegrasyonu
- UIKit: SwiftUI ile UIKit entegrasyonu (QR Scanner için)
- UserDefaults: Yerel veri saklama (favoriler, sipariş geçmişi)
- Haptic Feedback: UINotificationFeedbackGenerator ile dokunsal geri bildirimler
- Localization: Çoklu dil desteği için
.lprojdosyaları
- SF Rounded Font: Apple'ın sistem fontu ile tutarlı tipografi
- Custom Color Palette: Sıcak kahve tonlarında özel renk paleti
- Spring Animations: Yumuşak ve doğal animasyonlar
- Matched Geometry Effects: Akıcı geçiş animasyonları
- Glassmorphism: Ultra thin material efektleri
- Parallax Effects: Derinlik hissi veren scroll efektleri
- 3D Transforms: Rotation ve perspective efektleri
- Particle Systems: Arka plan parçacık efektleri
- Shimmer Effects: Yanıp sönen ışık efektleri
- Xcode 15.0+: Apple'ın resmi IDE'si
- Swift 5.9+: Modern Swift versiyonu
- macOS 13.0+: Xcode ile uyumlu macOS versiyonu
- iOS Simulator: Test için iOS simülatörü
- iOS 17.0+: Minimum iOS versiyonu
- iPadOS 17.0+: iPad desteği
- Kamera Erişimi: QR kod tarama özelliği için (opsiyonel)
- Cihaz: iPhone 8 ve üzeri, iPad (6. nesil) ve üzeri
- NSCameraUsageDescription: QR kod tarama için kamera erişimi gereklidir
- Projeyi İndirin veya Klonlayın:
git clone https://github.com/yourusername/amata.git
cd amataveya ZIP dosyası olarak indirip açın.
- Xcode'da Projeyi Açın:
open tabli.xcodeprojveya Finder'dan tabli.xcodeproj dosyasına çift tıklayın.
-
Sertifika ve Profil Ayarları:
- Xcode'da "Signing & Capabilities" bölümüne gidin
- Geliştirme takımınızı seçin
- Xcode otomatik olarak provisioning profile oluşturacaktır
-
Simülatör veya Cihaz Seçin:
- Üst menüden hedef cihazı seçin (iPhone 15 Pro, iPad Pro, vb.)
-
Uygulamayı Çalıştırın:
- ⌘R tuşlarına basın veya Play butonuna tıklayın
- Kamera İzni: İlk QR kod tarama denemesinde kamera izni isteyecektir
- Test Verileri: Uygulama örnek menü verileri ile birlikte gelir
- Dil Seçimi: Varsayılan dil sistem diline göre belirlenir
- Uygulama açıldığında masa numaranızı seçmeniz gerekir
- Manuel Seçim: "Masa Seç" butonuna tıklayarak masa numarasını manuel olarak seçebilirsiniz
- QR Kod Tarama: "QR Kod ile Masa Seç" butonuna tıklayarak kamera ile masa QR kodunu tarayabilirsiniz
- Kamera izni verildikten sonra QR kod görüntüsü otomatik tespit edilir
- Geçerli QR kod formatı:
table-5veya sadece5(masa numarası)
- Ana sayfadaki "Siparişe Başla" butonuna tıklayarak menüye erişin
- Menü kategorilere ayrılmıştır:
- ☕ Kahve
- 🥐 Pastane Ürünleri
- 🧊 Soğuk İçecekler
- 🥗 Atıştırmalıklar
- 🍰 Tatlılar
- Kategori Seçimi: Üst kısımdaki kategori butonlarından birini seçin
- Ürün Görüntüleme: Ürün kartına tıklayarak detay sayfasını açın veya "+" butonuna tıklayarak direkt sepete ekleyin
- Miktar Ayarlama: Ürün detay sayfasında miktarı artırın/azaltın
- Sepete Ekleme: "Sepete Ekle" butonuna tıklayın
- Sepet Kontrolü: Sağ üst köşedeki sepet ikonuna tıklayarak sepeti görüntüleyin
- Özel Notlar: Sepet sayfasında özel talimatlar, alerji bilgileri ekleyebilirsiniz
- Sipariş Onayı: "Sipariş Ver" butonuna tıklayarak siparişinizi onaylayın
- Ana sayfada "Sipariş Durumu" butonu görünür (aktif sipariş varsa)
- Sipariş durumları:
- ⏳ Beklemede: Sipariş alındı, hazırlanmayı bekliyor
- 👨🍳 Hazırlanıyor: Barista siparişinizi hazırlıyor
- ✅ Hazır: Siparişiniz hazır, tezgahtan alabilirsiniz
- Favoriye Ekleme: Ürün kartındaki yıldız ikonuna tıklayarak favorilere ekleyin
- Favoriler Sayfası: Ana sayfadan "Favoriler" butonuna tıklayarak favori ürünlerinize erişin
- Hızlı Sipariş: Favoriler sayfasından direkt sepete ekleyebilirsiniz
- Geçmiş Görüntüleme: Ana sayfadan "Geçmiş" butonuna tıklayarak geçmiş siparişlerinizi görüntüleyin
- Sipariş Detayları: Her sipariş için tarih, saat, ürünler ve toplam fiyat bilgisi
- Bekleyen Siparişler: Sipariş durumu "Beklemede" iken siparişi düzenleyebilirsiniz
- Sipariş Detayları: Sipariş durumu sayfasından "Düzenle" butonuna tıklayın
- Modern Edit Interface: Glassmorphism ve parallax efektleri ile modern düzenleme arayüzü
- Profil Oluşturma: İsim, email, telefon bilgileri ile profil oluşturma
- Profil Fotoğrafı: Fotoğraf kütüphanesinden profil fotoğrafı seçme
- İstatistikler: Favori sayısı, sipariş geçmişi, sepet ürünleri görüntüleme
- Tercihler: Bildirim ayarları, dil tercihleri yönetimi
- Ana sayfanın sağ üst köşesindeki dil butonuna tıklayın
- Türkçe veya İngilizce seçeneklerinden birini seçin
- Dil değişikliği uygulama genelinde geçerli olur
- Menü sayfasındaki floating search bar'a ürün adı yazarak arama yapabilirsiniz
- Arama tüm kategorilerde çalışır
- Keyboard dismiss desteği ile kolay kullanım
- Ürün kartlarında uzun basma (haptic touch) ile context menu açılır
- Context menu'den hızlı işlemler: Sepete Ekle, Detayları Gör, Favorilere Ekle
- Preview ile büyük ürün görseli ve detaylar
Amata, MVVM (Model-View-ViewModel) mimarisi ile organize edilmiştir:
tabli/
├── Models/ # Veri Modelleri
│ ├── MenuItem.swift # MenuItem, OrderItem, Table, MenuCategory
│ ├── SampleData.swift # Örnek menü verileri ve test datası
│ └── User.swift # User, UserPreferences model
│
├── ViewModels/ # İş Mantığı Katmanı
│ ├── OrderViewModel.swift # Sipariş, sepet, favoriler, geçmiş yönetimi
│ └── UserProfileViewModel.swift # Kullanıcı profil yönetimi
│
├── Views/ # UI Katmanı (SwiftUI)
│ ├── SplashView.swift # Açılış ekranı ve animasyonlar
│ ├── HomeView.swift # Ana sayfa (masa seçimi, menü erişimi)
│ ├── MenuView.swift # Menü görüntüleme ve kategori filtreleme
│ ├── ProductDetailView.swift # Ürün detay sayfası (görsel, açıklama, miktar)
│ ├── CartView.swift # Sepet görüntüleme ve sipariş verme
│ ├── OrderConfirmationView.swift # Sipariş onay animasyonu
│ ├── OrderStatusView.swift # Sipariş durumu takibi
│ ├── OrderDetailsView.swift # Sipariş detay görüntüleme
│ ├── EditOrderView.swift # Bekleyen sipariş düzenleme
│ ├── FavoritesView.swift # Favori ürünler sayfası
│ ├── OrderHistoryView.swift # Sipariş geçmişi
│ ├── QRCodeScannerView.swift # QR kod tarama UI (SwiftUI)
│ ├── QRCodeScannerViewController.swift # QR kod tarama (UIKit)
│ ├── QRCodeScannerRepresentable.swift # SwiftUI-UIKit bridge
│ ├── LanguagePickerView.swift # Dil seçimi
│ ├── SettingsView.swift # Ayarlar sayfası
│ ├── ProfileView.swift # Kullanıcı profili görüntüleme ve düzenleme
│ └── AboutView.swift # Uygulama hakkında sayfası
│
├── Theme/ # Tasarım Sistemi
│ └── AppTheme.swift # Renk paleti, font, animasyon ayarları
│
├── Localization/ # Çoklu Dil Desteği
│ ├── LocalizationManager.swift # Dil yönetimi ve değiştirme
│ ├── en.lproj/
│ │ └── Localizable.strings # İngilizce çeviriler
│ └── tr.lproj/
│ └── Localizable.strings # Türkçe çeviriler
│
├── Assets.xcassets/ # Görseller ve İkonlar
│ ├── AppIcon.appiconset/ # Uygulama ikonu
│ ├── AmataLogo.imageset/ # Amata logosu
│ └── AccentColor.colorset/ # Vurgu rengi
│
├── ContentView.swift # Ana görünüm router
└── tabliApp.swift # Uygulama giriş noktası
Amata, harici bağımlılık kullanmaz. Tüm özellikler native iOS framework'leri ile geliştirilmiştir:
- SwiftUI (UI)
- AVFoundation (Kamera)
- Combine (Reactive Programming)
- UserDefaults (Local Storage)
Amata, sıcak kahve tonlarında minimalist bir tasarım dilini benimser. Tasarım, Apple'ın Human Interface Guidelines ile uyumludur.
| Renk | Hex Kodu | Kullanım Alanı |
|---|---|---|
| Beige Light | #EDE0D4 |
Arka plan, kartlar |
| Beige Medium | #DDB892 |
İkincil arka planlar |
| Brown Medium | #B08968 |
İkincil metin, çizgiler |
| Brown Dark | #7F5539 |
Ana metin, vurgular |
| Ivory | #F5F1EB |
Kart arka planları |
| Cream | #F9F6F2 |
Ana arka plan |
- Font Ailesi: SF Rounded (SF Rounded Pro)
- Başlıklar: Bold, 24-32pt
- Alt Başlıklar: Semibold, 18-20pt
- Gövde Metni: Regular, 14-16pt
- Küçük Metin: Regular, 12-14pt
- Spring Animations:
Animation.spring(response: 0.4, dampingFraction: 0.7) - Süre: 0.3-0.6 saniye arası
- Geçişler: Fade, scale, slide kombinasyonları
- Haptic Feedback: Light, Medium, Heavy seviyelerinde
- Coffee Steam Animation: Logo üzerinde yükselen kahve buharı efekti
- Particle Effects: Arka planda yüzen parçacık efektleri
- Glow Effects: Expanding glow rings ve radial glow efektleri
- Shimmer Effects: Yanıp sönen ışık efektleri (shimmer)
- 3D Rotation: Perspective ve rotation efektleri
- Parallax Scroll: Scroll'a bağlı parallax hareket efektleri
- Staggered Animations: Kademeli animasyonlar (delay ile)
- Köşe Yuvarlamaları: 16pt-32pt (kartlar, butonlar)
- Padding: 16pt-28pt (standart boşluklar)
- Gölgeler: Opacity 0.08-0.25, radius 10-30pt (derinlik hissi)
- Grid System: 12-column responsive grid (iPad için)
- UnevenRoundedRectangle: iOS 17+ için özel köşe yuvarlamaları
- Glassmorphism: Ultra thin material ile şeffaf efektler
- Minimalizm: Gereksiz UI elementlerinden kaçınma
- Tutarlılık: Tüm ekranlarda tutarlı tasarım dili
- Erişilebilirlik: Dynamic Type desteği, yüksek kontrast
- Geri Bildirim: Haptic feedback ve görsel geri bildirimler
Amata uygulaması, çoklu dil desteği ile geliştirilmiştir:
- 🇹🇷 Türkçe (Turkish): Varsayılan dil
- 🇬🇧 İngilizce (English): İkinci dil desteği
Localization/
├── LocalizationManager.swift # Dil yönetim sistemi
├── en.lproj/
│ └── Localizable.strings # İngilizce metinler (90+ string)
└── tr.lproj/
└── Localizable.strings # Türkçe metinler (90+ string)
Yeni dil eklemek için:
Localization/klasörüne yeni.lprojklasörü oluşturun (örn:de.lproj)Localizable.stringsdosyasını ekleyin- Tüm string anahtarlarını çevirin
LocalizationManager.swiftdosyasına yeni dil enum değeri ekleyin
- ✅ Tüm UI metinleri
- ✅ Hata mesajları
- ✅ Bildirimler
- ✅ Tarih/saat formatları
- ✅ Fiyat formatları (₺ vs $)
Uygulama aşağıdaki izinleri kullanır:
- Kamera: QR kod tarama için (opsiyonel)
İzin açıklaması: "QR kod tarayarak masa numaranızı seçmek için kamera erişimine ihtiyacımız var."
- NSCameraUsageDescription: QR kod tarama için kamera erişimi
- Açıklama: "QR kod tarayarak masa numaranızı seçmek için kamera erişimine ihtiyacımız var."
- Kullanım: Yalnızca QR kod tarama işlemi sırasında
- Gizlilik: Kamera verileri cihazda işlenir, sunucuya gönderilmez
- UserDefaults: Favoriler ve sipariş geçmişi yerel olarak saklanır
- Veri Güvenliği: Hassas veri (kredi kartı, şifre) saklanmaz
- Veri Paylaşımı: Kullanıcı verileri üçüncü taraflarla paylaşılmaz
Bu proje Proprietary License (Özel Lisans) altındadır. Tüm hakları saklıdır.
Detaylı lisans koşulları için LICENSE dosyasına bakın.
İzin Verilen Kullanımlar:
- ✅ Kişisel, eğitim ve değerlendirme amaçlı kullanım
- ✅ Kod yapısını inceleme ve öğrenme
- ✅ Akademik veya araştırma amaçlı referans (uygun atıf ile)
Yasaklı Kullanımlar:
- ❌ Ticari kullanım (açık izin olmadan)
- ❌ Kodun değiştirilmesi ve dağıtılması
- ❌ Tersine mühendislik veya kaynak kodu türetme
- ❌ Rekabet eden ürünler oluşturma
Ticari kullanım, dağıtım veya değişiklik için lütfen iletişime geçin:
- 📧 Email: [email protected]
- 🔗 GitHub: @yourusername
Alternatif: Projeyi MIT Lisansı altında kullanmak isterseniz, LICENSE-MIT dosyasını LICENSE olarak yeniden adlandırabilirsiniz.
Tahsin Mert Mutlu
- 💼 iOS Geliştirici
- 📧 Email: [email protected]
- 🔗 GitHub: @yourusername
- 🌐 Portfolio: website.com
- SwiftUI Topluluğu: Rehberlik ve kaynaklar için
- Apple Developer Community: Forum ve dokümantasyon desteği
- Test Kullanıcıları: Geri bildirim ve hata raporları için
- Tüm Katkıda Bulunanlar: Projeye katkı sağlayan herkese
Ekran görüntüleri yakında eklenecektir.
Gelecek güncellemeler:
- Ana sayfa ekran görüntüsü
- Menü ekranı
- QR kod tarama
- Sepet ve sipariş onayı
- Sipariş durumu takibi
- ✅ Glassmorphism: Ultra thin material efektleri ile şeffaf kartlar ve butonlar
- ✅ Parallax Scrolling: Derinlik hissi veren parallax scroll efektleri tüm sayfalarda
- ✅ 3D Effects: Rotation ve perspective efektleri ile 3D görünümler
- ✅ Floating Elements: Yüzen butonlar, kartlar ve animasyonlu öğeler
- ✅ Gradient Backgrounds: Canlı gradient animasyonları ve geçişler
- ✅ Particle Effects: Arka plan parçacık efektleri ve coffee steam animasyonları
- ✅ Shimmer Effects: Yanıp sönen ışık efektleri (shimmer) butonlarda ve kartlarda
- ✅ Staggered Animations: Kademeli animasyonlar ile akıcı geçişler
- ✅ Glow Effects: Radial glow efektleri ve expanding glow rings
- ✅ Kullanıcı Profili: Profil oluşturma, fotoğraf yükleme, istatistikler görüntüleme
- ✅ Modern Splash Screen: Coffee steam, particles, glow effects ile animasyonlu açılış
- ✅ Coffee Steam Animation: Logo üzerinde yükselen kahve buharı efekti
- ✅ Haptic Touch Support: Ürün kartlarında context menu ile hızlı işlemler
- ✅ Tüm Sayfalar Modernize: CartView, OrderConfirmationView, FavoritesView, OrderHistoryView, OrderStatusView, ProfileView, QRCodeScannerView, ProductDetailView tamamen yenilendi
- ✅ Modern Menü Tasarımı: Parallax hero section, floating category pills, staggered product grid
- ✅ Modern Sepet Tasarımı: Floating summary card, 3D item cards, shimmer effects
- ✅ Modern Sipariş Onay: Expanding rings, particle confetti, modern animations
- ✅ HomeView Optimizasyonu: Tüm öğeler tek sayfaya sığacak şekilde optimize edildi
- ✅ QR Kod Tarama: Gerçek zamanlı kamera ile masa seçimi
- ✅ Favoriler Sistemi: Ürünleri favorilere ekleme ve hızlı erişim
- ✅ Sipariş Geçmişi: Geçmiş siparişleri görüntüleme
- ✅ Sipariş Düzenleme: Bekleyen siparişleri düzenleme
- ✅ Çoklu Dil Desteği: Türkçe ve İngilizce tam lokalizasyon
- ✅ Sipariş Takibi: Gerçek zamanlı sipariş durumu (Beklemede → Hazırlanıyor → Hazır)
- ✅ Özel Notlar: Siparişe özel talimatlar ekleme
- ✅ Akıllı Arama: Menü öğelerinde arama ve filtreleme
- ✅ Ürün Detay Sayfası: Detaylı ürün görüntüleme ve miktar seçimi
- ✅ Haptic Feedback: Dokunsal geri bildirimler
- ✅ MVVM mimarisi ile temiz kod organizasyonu
- ✅ SwiftUI ile modern UI geliştirme
- ✅ AVFoundation ile kamera entegrasyonu
- ✅ UserDefaults ile yerel veri saklama
- ✅ Animasyonlar ve geçişler
- Cafe Management System - Backend API
- Admin Dashboard - Yönetim paneli
- Payment Integration - Ödeme entegrasyonu
Gelecek sürümler için planlanan özellikler:
- Ödeme entegrasyonu (Apple Pay, Kredi Kartı)
- Push notification desteği
- Dark mode desteği
- Apple Watch uygulaması
- Widget desteği
- Sosyal medya entegrasyonu
- Yorum ve puanlama sistemi
- Kampanya ve indirimler
Hata bulduysanız veya özellik önerisi yapmak isterseniz:
- GitHub Issues sayfasını kullanın
- Email ile iletişime geçin
- Detaylı açıklama ve ekran görüntüleri ekleyin
Amata is a modern mobile ordering app developed for restaurants and cafes. This iOS app allows customers to place orders directly from their tables, offering advanced features such as QR code scanning, menu management, order tracking, and favorites system.
Amata delivers a "premium yet cozy" user experience that combines Apple's minimalism philosophy with the warm atmosphere of Parisian coffeehouses. The app is built using SwiftUI and MVVM architecture and runs on iOS 17+ devices.
- Modern Menu Display: Rich menu experience with glassmorphism, parallax scroll and 3D effects
- Category-Organized Menu: Coffee, Pastries, Cold Drinks, Snacks, Desserts
- Smart Search: Real-time search and filtering of menu items with keyboard dismiss support
- Product Detail Page: Modern design with parallax hero section, 3D rotation effects, large images, detailed descriptions
- Cart Management: Floating cards, glassmorphism, modern quantity controls, 3D effects
- Special Notes: Add special instructions, allergy information, and custom requests to orders
- Order Editing: Edit and modify pending orders
- QR Code Scanning: Real-time camera integration for automatic table number selection
- Order Tracking: Real-time order status tracking (Pending → Preparing → Ready) with animated progress indicator
- Favorites System: Add products to favorites, categorized display and quick access
- Order History: View past orders with detailed information and reorder functionality
- User Profile: Personal information (name, email, phone), profile photo
- Statistics: Favorite count, order history, cart items
- Preferences: Notification settings, language preferences
- Membership Info: Join date and account details
- Glassmorphism: Transparent cards with ultra thin material effects
- Parallax Scrolling: Depth-creating parallax scroll effects
- 3D Effects: 3D views with rotation and perspective effects
- Floating Elements: Floating buttons, cards and animated elements
- Gradient Backgrounds: Live gradient animations and transitions
- Particle Effects: Background particle effects and coffee steam animations
- Shimmer Effects: Flickering light effects (shimmer) on buttons and cards
- Staggered Animations: Smooth transitions with staggered animations
- Glow Effects: Radial glow effects and light rings
- Multi-language Support: Full localization in Turkish and English (100+ strings)
- Custom Theme: Premium and warm design in warm coffee tones (#EDE0D4, #DDB892, #B08968, #7F5539)
- Animations: Smooth spring animations, coffee steam effect, pulse and breathing animations
- Haptic Feedback: Light, Medium, Heavy levels of tactile feedback
- Context Menu: Haptic touch (3D Touch) support on product cards
- Adaptive UI: Optimized responsive interface for iPhone and iPad
Amata is built according to modern iOS development standards:
- SwiftUI 5.0: Apple's modern, declarative UI framework
- Swift 5.9+: Powerful and safe programming language
- MVVM Architecture: Clean code organization with Model-View-ViewModel pattern
- Combine Framework: Reactive programming and asynchronous data flow management
- AVFoundation: Real-time camera integration for QR code scanning
- UIKit: UIKit integration with SwiftUI (for QR Scanner)
- UserDefaults: Local data storage (favorites, order history)
- Haptic Feedback: Tactile feedback with UINotificationFeedbackGenerator
- Localization:
.lprojfiles for multi-language support
- SF Rounded Font: Consistent typography with Apple's system font
- Custom Color Palette: Special color palette in warm coffee tones
- Spring Animations: Smooth and natural animations
- Matched Geometry Effects: Fluid transition animations
- Glassmorphism: Ultra thin material effects
- Parallax Effects: Depth-creating scroll effects
- 3D Transforms: Rotation and perspective effects
- Particle Systems: Background particle effects
- Shimmer Effects: Flickering light effects
- Xcode 15.0+: Apple's official IDE
- Swift 5.9+: Modern Swift version
- macOS 13.0+: macOS version compatible with Xcode
- iOS Simulator: iOS simulator for testing
- iOS 17.0+: Minimum iOS version
- iPadOS 17.0+: iPad support
- Camera Access: Required for QR code scanning feature (optional)
- Device: iPhone 8 and above, iPad (6th generation) and above
- NSCameraUsageDescription: Camera access required for QR code scanning
- Download or Clone the Project:
git clone https://github.com/yourusername/amata.git
cd amataor download as ZIP and extract.
- Open Project in Xcode:
open tabli.xcodeprojor double-click tabli.xcodeproj in Finder.
-
Configure Signing & Profiles:
- Go to "Signing & Capabilities" section in Xcode
- Select your development team
- Xcode will automatically create a provisioning profile
-
Select Simulator or Device:
- Select target device from top menu (iPhone 15 Pro, iPad Pro, etc.)
-
Run the App:
- Press ⌘R or click Play button
- Camera Permission: Will request camera permission on first QR code scan attempt
- Test Data: App comes with sample menu data
- Language Selection: Default language is determined by system language
- When the app opens, you need to select your table number
- Manual Selection: Click "Select Table" button to manually select table number
- QR Code Scanning: Click "Scan QR Code" button to scan table QR code with camera
- After granting camera permission, QR code image is automatically detected
- Valid QR code format:
table-5or just5(table number)
- Click "Start Order" button on home page to access menu
- Menu is organized by categories:
- ☕ Coffee
- 🥐 Pastries
- 🧊 Cold Drinks
- 🥗 Snacks
- 🍰 Desserts
- Category Selection: Select a category from top category buttons
- Product View: Click product card to open detail page or click "+" button to add directly to cart
- Quantity Adjustment: Increase/decrease quantity on product detail page
- Add to Cart: Click "Add to Cart" button
- Cart Review: Click cart icon on top right to view cart
- Special Notes: Add special instructions, allergy information on cart page
- Order Confirmation: Click "Place Order" button to confirm your order
- "Order Status" button appears on home page (if there's an active order)
- Order statuses:
- ⏳ Pending: Order received, waiting to be prepared
- 👨🍳 Preparing: Barista is preparing your order
- ✅ Ready: Your order is ready, you can collect from counter
- Add to Favorites: Click star icon on product card to add to favorites
- Favorites Page: Access favorite products from "Favorites" button on home page
- Quick Order: Add directly to cart from favorites page
- View History: Click "History" button on home page to view past orders
- Order Details: Date, time, items, and total price for each order
- Pending Orders: You can edit orders when status is "Pending"
- Order Details: Click "Edit" button from order status page
- Modern Edit Interface: Modern editing interface with glassmorphism and parallax effects
- Create Profile: Create profile with name, email, phone information
- Profile Photo: Select profile photo from photo library
- Statistics: View favorite count, order history, cart items
- Preferences: Manage notification settings, language preferences
- Click language button on top right of home page
- Select Turkish or English
- Language change applies app-wide
- Type product name in floating search bar on menu page to search
- Search works across all categories
- Keyboard dismiss support for easy use
- Long press on product cards to open context menu
- Quick actions from context menu: Add to Cart, View Details, Add to Favorites
- Preview with large product image and details
Amata is organized using MVVM (Model-View-ViewModel) architecture:
tabli/
├── Models/ # Data Models
│ ├── MenuItem.swift # MenuItem, OrderItem, Table, MenuCategory
│ └── SampleData.swift # Sample menu data and test data
│
├── ViewModels/ # Business Logic Layer
│ └── OrderViewModel.swift # Order, cart, favorites, history management
│
├── Views/ # UI Layer (SwiftUI)
│ ├── SplashView.swift # Splash screen and animations
│ ├── HomeView.swift # Home page (table selection, menu access)
│ ├── MenuView.swift # Menu display and category filtering
│ ├── ProductDetailView.swift # Product detail page (image, description, quantity)
│ ├── CartView.swift # Cart display and order placement
│ ├── OrderConfirmationView.swift # Order confirmation animation
│ ├── OrderStatusView.swift # Order status tracking
│ ├── OrderDetailsView.swift # Order detail display
│ ├── EditOrderView.swift # Pending order editing
│ ├── FavoritesView.swift # Favorite products page
│ ├── OrderHistoryView.swift # Order history
│ ├── QRCodeScannerView.swift # QR code scanning UI (SwiftUI)
│ ├── QRCodeScannerViewController.swift # QR code scanning (UIKit)
│ ├── QRCodeScannerRepresentable.swift # SwiftUI-UIKit bridge
│ ├── LanguagePickerView.swift # Language selection
│ └── SettingsView.swift # Settings page
│
├── Theme/ # Design System
│ └── AppTheme.swift # Color palette, font, animation settings
│
├── Localization/ # Multi-language Support
│ ├── LocalizationManager.swift # Language management and switching
│ ├── en.lproj/
│ │ └── Localizable.strings # English translations
│ └── tr.lproj/
│ └── Localizable.strings # Turkish translations
│
├── Assets.xcassets/ # Images and Icons
│ ├── AppIcon.appiconset/ # App icon
│ ├── AmataLogo.imageset/ # Amata logo
│ └── AccentColor.colorset/ # Accent color
│
├── ContentView.swift # Main view router
└── tabliApp.swift # App entry point
Amata uses no external dependencies. All features are developed with native iOS frameworks:
- SwiftUI (UI)
- AVFoundation (Camera)
- Combine (Reactive Programming)
- UserDefaults (Local Storage)
Amata adopts a minimalist design language in warm coffee tones. The design complies with Apple's Human Interface Guidelines.
| Color | Hex Code | Usage Area |
|---|---|---|
| Beige Light | #EDE0D4 |
Background, cards |
| Beige Medium | #DDB892 |
Secondary backgrounds |
| Brown Medium | #B08968 |
Secondary text, lines |
| Brown Dark | #7F5539 |
Primary text, accents |
| Ivory | #F5F1EB |
Card backgrounds |
| Cream | #F9F6F2 |
Main background |
- Font Family: SF Rounded (SF Rounded Pro)
- Headings: Bold, 24-32pt
- Subheadings: Semibold, 18-20pt
- Body Text: Regular, 14-16pt
- Small Text: Regular, 12-14pt
- Spring Animations:
Animation.spring(response: 0.4, dampingFraction: 0.7) - Duration: 0.3-0.6 seconds
- Transitions: Fade, scale, slide combinations
- Haptic Feedback: Light, Medium, Heavy levels
- Coffee Steam Animation: Rising coffee steam effect above logo
- Particle Effects: Floating particle effects in background
- Glow Effects: Expanding glow rings and radial glow effects
- Shimmer Effects: Flickering light effects (shimmer)
- 3D Rotation: Perspective and rotation effects
- Parallax Scroll: Scroll-dependent parallax movement effects
- Staggered Animations: Staggered animations with delays
- Corner Radius: 16pt-32pt (cards, buttons)
- Padding: 16pt-28pt (standard spacing)
- Shadows: Opacity 0.08-0.25, radius 10-30pt (depth perception)
- Grid System: 12-column responsive grid (for iPad)
- UnevenRoundedRectangle: Custom corner rounding for iOS 17+
- Glassmorphism: Transparent effects with ultra thin material
- Minimalism: Avoiding unnecessary UI elements
- Consistency: Consistent design language across all screens
- Accessibility: Dynamic Type support, high contrast
- Feedback: Haptic feedback and visual feedback
Amata app is developed with multi-language support:
- 🇹🇷 Turkish: Default language
- 🇬🇧 English: Secondary language support
Localization/
├── LocalizationManager.swift # Language management system
├── en.lproj/
│ └── Localizable.strings # English texts (90+ strings)
└── tr.lproj/
└── Localizable.strings # Turkish texts (90+ strings)
To add a new language:
- Create new
.lprojfolder inLocalization/directory (e.g.,de.lproj) - Add
Localizable.stringsfile - Translate all string keys
- Add new language enum value to
LocalizationManager.swift
- ✅ All UI texts
- ✅ Error messages
- ✅ Notifications
- ✅ Date/time formats
- ✅ Price formats (₺ vs $)
- NSCameraUsageDescription: Camera access for QR code scanning
- Description: "We need camera access to scan QR codes to select your table number."
- Usage: Only during QR code scanning process
- Privacy: Camera data is processed on device, not sent to server
- UserDefaults: Favorites and order history stored locally
- Data Security: Sensitive data (credit card, password) not stored
- Data Sharing: User data not shared with third parties
This project is under Proprietary License. All rights reserved.
See LICENSE file for detailed license terms.
Permitted Uses:
- ✅ Personal, educational and evaluation purposes
- ✅ Review and study code structure
- ✅ Academic or research references (with proper attribution)
Prohibited Uses:
- ❌ Commercial use (without explicit permission)
- ❌ Modification and distribution of code
- ❌ Reverse engineering or deriving source code
- ❌ Creating competing products
For commercial use, distribution, or modification, please contact:
- 📧 Email: [email protected]
- 🔗 GitHub: @yourusername
Alternative: If you want to use the project under MIT License, you can rename LICENSE-MIT file as LICENSE.
Tahsin Mert Mutlu
- 💼 iOS Developer
- 📧 Email: [email protected]
- 🔗 GitHub: @yourusername
- 🌐 Portfolio: website.com
- SwiftUI Community: For guidance and resources
- Apple Developer Community: For forum and documentation support
- Test Users: For feedback and bug reports
- All Contributors: Everyone who contributed to the project
Screenshots will be added soon.
Upcoming updates:
- Home screen screenshot
- Menu screen
- QR code scanning
- Cart and order confirmation
- Order status tracking
- ✅ Glassmorphism: Transparent cards and buttons with ultra thin material effects
- ✅ Parallax Scrolling: Depth-creating parallax scroll effects across all pages
- ✅ 3D Effects: 3D views with rotation and perspective effects
- ✅ Floating Elements: Floating buttons, cards and animated elements
- ✅ Gradient Backgrounds: Live gradient animations and transitions
- ✅ Particle Effects: Background particle effects and coffee steam animations
- ✅ Shimmer Effects: Flickering light effects (shimmer) on buttons and cards
- ✅ Staggered Animations: Smooth transitions with staggered animations
- ✅ Glow Effects: Radial glow effects and expanding glow rings
- ✅ User Profile: Profile creation, photo upload, statistics display
- ✅ Modern Splash Screen: Animated launch with coffee steam, particles, glow effects
- ✅ Coffee Steam Animation: Rising coffee steam effect above logo
- ✅ Haptic Touch Support: Quick actions with context menu on product cards
- ✅ All Pages Modernized: CartView, OrderConfirmationView, FavoritesView, OrderHistoryView, OrderStatusView, ProfileView, QRCodeScannerView, ProductDetailView completely redesigned
- ✅ Modern Menu Design: Parallax hero section, floating category pills, staggered product grid
- ✅ Modern Cart Design: Floating summary card, 3D item cards, shimmer effects
- ✅ Modern Order Confirmation: Expanding rings, particle confetti, modern animations
- ✅ HomeView Optimization: All elements optimized to fit on a single page
- ✅ QR Code Scanning: Real-time camera for table selection
- ✅ Favorites System: Add products to favorites and quick access
- ✅ Order History: View past orders
- ✅ Order Editing: Edit pending orders
- ✅ Multi-language Support: Full localization in Turkish and English
- ✅ Order Tracking: Real-time order status (Pending → Preparing → Ready)
- ✅ Special Notes: Add special instructions to orders
- ✅ Smart Search: Search and filter menu items
- ✅ Product Detail Page: Detailed product view and quantity selection
- ✅ Haptic Feedback: Tactile feedback
- ✅ Clean code organization with MVVM architecture
- ✅ Modern UI development with SwiftUI
- ✅ Camera integration with AVFoundation
- ✅ Local data storage with UserDefaults
- ✅ Animations and transitions
- Cafe Management System - Backend API
- Admin Dashboard - Management panel
- Payment Integration - Payment integration
Planned features for future releases:
- Payment integration (Apple Pay, Credit Card)
- Push notification support
- Dark mode support
- Apple Watch app
- Widget support
- Social media integration
- Review and rating system
- Campaigns and discounts
If you find a bug or want to suggest a feature:
- Use GitHub Issues page
- Contact via email
- Include detailed description and screenshots
