38 lines
2.4 KiB
Markdown
38 lines
2.4 KiB
Markdown
# 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! 🚀
|