Little Lemon Restoran Rezervasyon Uygulaması
React ve TypeScript ile geliştirilmiş, sağlam bir masa rezervasyon sistemi, erişilebilirlik uyumluluğu ve kapsamlı birim testleri içeren responsive web uygulaması.
Genel Bakış
Bu proje, ileri düzey frontend geliştirme becerilerini sergilemek amacıyla bir bitirme projesi (Capstone) olarak geliştirilmiştir. Kurgusal bir restoran olan "Little Lemon" için tasarlanan bu responsive web uygulaması, menü inceleme ve masa rezervasyonu işlemleri için kusursuz bir kullanıcı deneyimi sunar. Projenin ana odağı; modern React desenlerini kullanarak işlevsel, erişilebilir ve test edilebilir bir uygulama inşa etmektir.
Temel Özellikler
- Güçlü Rezervasyon Sistemi: Doğru veri girişini sağlamak için sezgisel istemci tarafı (client-side) doğrulamaya sahip dinamik bir rezervasyon formu içerir.
- Gelişmiş Durum Yönetimi (State Management): Bileşen düzeyindeki etkileşimler için
useStatekullanılırken, müsait zaman dilimlerinin yönetimi gibi karmaşık mantıklar için React'inuseReducerkancasından yararlanılmıştır. - Simüle Edilmiş API Entegrasyonu: Gerçek dünya backend etkileşimlerini taklit etmek amacıyla, müsait rezervasyon saatlerini dinamik olarak çeken ve form gönderimlerini işleyen sahte (mock) bir API uygulanmıştır.
- Erişilebilirlik (a11y): Uygulamanın yardımcı teknolojiler tarafından kullanılabilir olmasını sağlamak için semantik HTML5 ve ARIA nitelikleri ile oluşturulmuştur.
- Güvenilirlik: İş mantığını ve bileşenlerin doğru çalışıp çalışmadığını doğrulamak için
VitestveReact Testing Librarykullanılarak hazırlanan kapsamlı birim testleri içerir.
Teknoloji Yığını
- Çatı: React + Vite
- Dil: TypeScript
- Stil: Tailwind CSS, Shadcn/ui
- Yönlendirme: React Router DOM
- Test: Vitest, React Testing Library