mevn-stack-assignment/README.md

75 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.
## 🚀 Projeyi Çalıştırma
### 1⃣ Gerekli Bağımlılıkları Yükleyin
Proje dizinine gidin ve gerekli bağımlılıkları yükleyin:
```sh
cd backend
npm install
cd ../frontend
npm install
```
### 3⃣ Backendi Başlatın
Backendi çalıştırmak için:
```sh
cd backend
node server.js
```
### 4⃣ Frontendi Başlatın
Frontendi çalıştırmak için:
```sh
cd frontend
npm run dev
```
### 5⃣ Uygulamayı Kullan
Tarayıcınızıın ve aşağıdaki URLyi ziyaret edin:
```
http://localhost:5173
```
Başarılar! 🚀