Kısa Açıklama
Bu depo, basit bir React (Vite) ön yüzü ve Node.js (Express) tabanlı bir backend API içerir. Backend MySQL veritabanına bağlanır ve app_question_body tablosundan soruları döner. Bu rehber, Git ve Node deneyimi sınırlı öğrencilerin projeyi yerel makinelerine indirip çalıştırabilmesi için adım adım anlatır.
- Git (veya GitHub'dan ZIP ile indirme)
- Node.js LTS (18.x veya üstü) ve npm
- MySQL (yerel kurulum)
- VS Code veya başka bir kod editörü
- Git ile (tercih edilir):
git clone https://github.com/AbdullahMart/Taal_School_Project_Fullstack.git
cd Taal_School_Project_FullstackÖneri: Repo'yu kendi GitHub hesabınıza almak isterseniz, GitHub sayfasından Fork yapın, sonra fork'unuzu klonlayın.
Not: Git bilginiz yoksa GitHub sayfasından Code → Download ZIP ile indirebilirsiniz; zip'i açıp aynı klasöre gelin.
- MySQL veritabanını oluşturun ve örnek tablo ekleyin (MySQL komut satırında veya bir GUI ile çalıştırın):
Aşağıdaki adımları izleyerek app_db-schema.sql (şema) ve app_db-data.sql (örnek veriler) dosyalarını yükleyin. Önce şema, sonra veri dosyasını çalıştırın.
A. MySQL Workbench ile (grafiksel):
- MySQL Workbench'i açın ve yerel MySQL bağlantınıza çift tıklayarak bağlanın.
- Üst menüden File → Open SQL Script ile
app_db-schema.sqldosyasını açın. - Sağ üstteki ⚡ (Execute) butonuna veya Ctrl+Shift+Enter ile script'i çalıştırın.
Schemasbölümündeapp_dbgörünmelidir. - Aynı şekilde File → Open SQL Script ile
app_db-data.sqldosyasını açın ve çalıştırın. Verilerapp_question_bodytablosuna eklenecektir.
B. Kontrol
- Workbench'te
Schemas → app_db → Tables → app_question_bodyaltında kayıtları görebilirsiniz. - Workbanch SQL Query (Test için):
---Query icine Test icin yazabilirsin.---
select * from app_db.app_question_body;
- MySQL bağlantı bilgilerini kontrol edin:
- Varsayılan
backend-api/index.jsiçindeki bağlantı bilgileri örnektir; kendi MySQL kullanıcı/parolanızı kullanın.backend-api/index.jsdosyasini açıp şu bölümü bulun ve düzenleyin:
const db = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '!@#123qwert', // -> burayı kendi parolanızla değiştirin
database: 'app_db'
});İpucu: Güvenlik için gerçek projelerde şifreleri repoya koymayın;
.envkullanın.
A. backend-api dizinine gidin:
- Kökten (kısa):
cd backend-apiB. API'yi başlatın:
node index.jsNot: Eğer
Error: Cannot find module '...\index.js'gibi bir hata görürseniz, muhtemelennode index.jskomutunu yanlış klasörden çalıştırdınız; yacd backend-apiile doğru klasöre geçin ya da tam dosya yolunu kullanarak çalıştırın:
-
Başarılıysa:
🚀 API çalışıyor: http://localhost:3001ve✅ MySQL bağlantısı başarılı!göreceksiniz. -
Sql server'dan verilerin gelip gelmedigini test etmek icin :
Url: http://localhost:3001/api/questions
A. Vs Code ile yeni Terminal acin. Backen-api terminalini kapatmayin. Acilan yeni terminalde Frontend dizinine gidin:
- Repo kökünden (kısa):
cd app_db/App_dbB. Bağımlılıkları yükleyin:
npm installİpucu: Eğer
npm installkomutunu yanlış üst klasörde çalıştırırsanız, bağımlılıklarapp_dbkökünde ya da başka bir yerde kurulabilir; doğru klasörde (app_db/App_db) olduğunuzdan emin olun.
C. Geliştirme sunucusunu başlatın:
- Kısa yol:
npm run dev- Vite genellikle
http://localhost:5173/adresini verecektir. Tarayıcıda açın. - Frontend otomatik olarak backend API'sine
http://localhost:3001/api/questionsendpoint'inden istek atarak verileri çekmelidir (CORS zaten etkin).
- "MySQL bağlantı hatası": MySQL servisi çalışıyor mu? Kullanıcı/parola/host doğru mu? 3306 portu başka bir uygulama tarafından mı kullanılıyor?
- "Port already in use": 3001 veya 5173 portlarını başka uygulamalar kullanıyor olabilir. Farklı port deneyin veya o uygulamayı kapatın.
- Eksik paketler:
npm installkomutunu ilgili dizinde çalıştırdığınızdan emin olun. - Node sürümü uyuşmazlığı: LTS (18.x/20.x) kullanın.
Abdullah Mart
Balarilar dilerim...