# Full Stack Developer Teknik Ödevi Merhaba Değerli Adayımız, Bu teknik ödev, yazılım geliştirme becerilerinizi değerlendirmek için hazırlanmıştır. Amacımız, **mevcut kötü yazılmış bir randevu sistemini temiz kod prensiplerine uygun hale getirmek** ve geliştirme yaklaşımınızı görmek. ## 🎯 Göreviniz Size verilen **Express.js + Vue.js + SQLite ile yazılmış kötü bir randevu sistemi** var. Bu projeyi **hatalarından arındırarak ve okunabilir hale getirerek** tekrar yazmalısınız. ## 📌 Mutlaka Yapılması Gerekenler (Zorunlu) ✅ **Kodun düzgün ve iyi çalışan bir hale getirilmesi gerekiyor.** ✅ **Veritabanı olarak SQLite kullanılmıştır. Bunu MongoDB ile değiştirebilirsiniz.** ✅ **Form doğrulaması (validation) zorunludur.** ✅ **Aynı tarih ve saate tekrar randevu alınmasını engellemelisiniz.** ✅ **Rezervasyon yapıldığında sayfa otomatik olarak güncellenmelidir.** ✅ **Backend ve frontend düzgün API entegrasyonu sağlamalıdır.** ✅ **Concurrency ve race condition problemleri göz önünde bulundurulmalı, önlemler alınmalıdır.** ✅ **Error handling düzgün yapılmalı, güvenlik açıkları minimize edilmelidir.** ✅ **Inline CSS kullanılmamalıdır, CSS dosyaları ayrılmalıdır.** ✅ **README dosyasında kurulum ve çalıştırma adımları eksiksiz açıklanmalıdır.** ## ⭐ Artı Değer Kazandıracaklar 🔹 **Nuxt.js ve MongoDB kullanmak.** 🔹 **Kod organizasyonunu geliştirirmek ve kod yapısını standart yaklaşımlara göre düzenlemek.** 🔹 **Ek çözümler geliştirmek. Örneğin, WebSockets (Socket.io) gibi gerçek zamanlı bir güncelleme yöntemi kullanabilirsiniz.** 🔹 **Tailwind CSS kullanarak UI tasarımını geliştirirmek.** 🔹 **Authentication ekleyerek kullanıcıların birbirinin randevularını görmesini engellerseniz değerlendirmede avantaj sağlar.** 🔹 **Projede yaşadığınız zorlukları, projede gördüğünüz problemlere dair çözümleri anlatan bir doküman bizimle paylaşmak.** 🔹 **Canlı bir demo (Vercel, Netlify, DigitalOcean vb.) oluşturursanız artı puan alırsınız.** ## 📦 Teslimat ve Süre 📅 **Teslim süresi:** 5 gün 📩 **Teslim şekli:** - GitHub üzerinden paylaşabilirsiniz veya e-posta ile gönderebilirsiniz. - README dosyanız mutlaka olmalıdır. Başarılar! 🚀