From 0961751f4d8abb9d434e3c17314aae2f5626c210 Mon Sep 17 00:00:00 2001 From: wisecolt Date: Sun, 18 Jan 2026 16:42:36 +0300 Subject: [PATCH] =?UTF-8?q?refactor(ui,docs):=20Job=20terimini=20Test=20ol?= =?UTF-8?q?arak=20g=C3=BCncelle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UI ve dokümantasyon boyunca "Job" terimleri "Test" olarak değiştirildi. Bu değişiklik, uygulamanın terminolojisini tutarlı hale getirmek ve kullanıcı arayüzünde daha doğru bir isimlendirme sağlamak için yapıldı. Tüm etiketler, başlıklar, bildirimler ve dokümantasyon güncellendi. --- README.md | 30 ++++++++++----------- frontend/src/components/DashboardLayout.tsx | 2 +- frontend/src/pages/HomePage.tsx | 2 +- frontend/src/pages/JobDetailPage.tsx | 24 ++++++++--------- frontend/src/pages/JobsPage.tsx | 22 +++++++-------- 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index b4ee31e..82e603b 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ - **Korumalı Endpoint'ler**: JWT middleware ile korunan API endpoint'leri - **Environment Security**: Hassas bilgilerin güvenli .env dosyasında saklanması -### 📊 Job Yönetim Sistemi +### 🧪 Test Yönetim Sistemi - **Repository Otomasyonu**: Otomatik git clone/pull işlemleri - **Zaman Tabanlı Çalıştırma**: Dakika/saat/gün bazında otomatik test çalıştırma - **Real-time Durum Güncellemesi**: Socket.io ile anlık durum takibi @@ -38,7 +38,7 @@ ### ⚡ Gerçek Zamanlı İletişim - **WebSocket Bağlantısı**: Socket.io ile sürekli iletişim - **Sayaç Yayınınlaması**: Global sayaç ve işlemler -- **Canlı Güncellemeler**: Job durumlarının anlık bildirilmesi +- **Canlı Güncellemeler**: Test durumlarının anlık bildirilmesi - **Ping/Pong**: Bağlantı kontrolü ### 🎨 Modern Arayüz @@ -202,24 +202,24 @@ docker compose up -d --build - **Şifre**: `supersecret` 3. Giriş yap butonuna tıklayın -### Job Yönetimi +### Test Yönetimi -#### Yeni Job Oluşturma -1. **Dashboard** menüsünden **Jobs** sayfasına gidin -2. **Yeni Job** butonuna tıklayın -3. Job bilgilerini girin: - - **Job Adı**: Tanımlayıcı bir isim +#### Yeni Test Oluşturma +1. **Dashboard** menüsünden **Tests** sayfasına gidin +2. **Yeni Test** butonuna tıklayın +3. Test bilgilerini girin: + - **Test Adı**: Tanımlayıcı bir isim - **Repository URL**: GitHub repository adresi - **Test Komutu**: Çalıştırılacak komut (örn: `npm test`) - **Kontrol Aralığı**: Test sıklığı (dakika/saat/gün) - **Kontrol Değeri**: Sayısal değer 4. Kaydet butonuna tıklayın -#### Job İzleme -- **Jobs Listesi**: Tüm job'ların durumunu gösterir +#### Test İzleme +- **Tests Listesi**: Tüm test'lerin durumunu gösterir - **Real-time Durum**: Socket.io ile anlık güncellemeler - **Log Akışı**: Test çıktılarını canlı izleme -- **Manuel Çalıştırma**: Job'u anında tetikleme +- **Manuel Çalıştırma**: Test'i anında tetikleme ### Deployment Yönetimi 1. **Deployments** sayfasına gidin @@ -250,7 +250,7 @@ docker compose up -d --build ### 📖 API Referansı - **Authentication API'leri**: `/auth/login`, `/auth/me` -- **Job Yönetim API'leri**: CRUD operasyonları, manuel çalıştırma +- **Test Yönetim API'leri**: CRUD operasyonları, manuel çalıştırma - **Deployment API'leri**: `/deployments`, `/deployments/:id`, `/deployments/scan`, `/deployments/branches` - **Webhook Endpoint**: `/api/deployments/webhook/:token` - **WebSocket Olayları**: Real-time iletişim ve durum güncellemeleri @@ -393,12 +393,12 @@ docker compose logs mongo ### Mevcut Durum (v1.0) - ✅ Temel CI/CD platformu -- ✅ Real-time job yönetimi +- ✅ Real-time test yönetimi - ✅ Modern web arayüzü - ✅ Konteyner orkestrasyonu ### Gelecek Planlar -- 🔄 **Multi-branch Support**: Farklı branch'ler için job yönetimi +- 🔄 **Multi-branch Support**: Farklı branch'ler için test yönetimi - 🔔 **Bildirim Sistemi**: E-posta ve Slack bildirimleri - 📊 **Dashboard İstatistikleri**: Performans ve kullanım metrikleri - 🛡️ **Güvenlik İyileştirmeleri**: 2FA ve rate limiting @@ -406,7 +406,7 @@ docker compose logs mongo - 📝 **Custom Test Commands**: Esnek test komutu yapılandırması ### E-post Listesi -- 📊 **Dashboard İstatistikleri**: Job performans grafikleri +- 📊 **Dashboard İstatistikleri**: Test performans grafikleri - 🔔 **Bildirim Kanalları**: Slack, Discord, Teams entegrasyonu - 🔄 **Pipeline Integration**: GitHub Actions, GitLab CI entegrasyonu - 🏗️ **Template System**: Hazır proje şablonları diff --git a/frontend/src/components/DashboardLayout.tsx b/frontend/src/components/DashboardLayout.tsx index 92f9414..9f9ec56 100644 --- a/frontend/src/components/DashboardLayout.tsx +++ b/frontend/src/components/DashboardLayout.tsx @@ -22,7 +22,7 @@ export function DashboardLayout() { const navigation = useMemo( () => [ { label: "Home", to: "/home", icon: faHouse }, - { label: "Jobs", to: "/jobs", icon: faFlaskVial }, + { label: "Tests", to: "/jobs", icon: faFlaskVial }, { label: "Deployments", to: "/deployments", icon: faRocket }, { label: "Settings", to: "/settings", icon: faGear } ], diff --git a/frontend/src/pages/HomePage.tsx b/frontend/src/pages/HomePage.tsx index 76474f6..f25f6a3 100644 --- a/frontend/src/pages/HomePage.tsx +++ b/frontend/src/pages/HomePage.tsx @@ -54,7 +54,7 @@ export function HomePage() { recentRuns: [], totals: { successRate: 0, totalRuns: 0 } }); - setError("Job metrikleri alınamadı"); + setError("Test metrikleri alınamadı"); } if (deployResult.status === "fulfilled") { diff --git a/frontend/src/pages/JobDetailPage.tsx b/frontend/src/pages/JobDetailPage.tsx index d3164c4..95ed8ca 100644 --- a/frontend/src/pages/JobDetailPage.tsx +++ b/frontend/src/pages/JobDetailPage.tsx @@ -79,7 +79,7 @@ export function JobDetailPage() { checkUnit: data.job.checkUnit }); }) - .catch(() => setError("Job bulunamadı")) + .catch(() => setError("Test bulunamadı")) .finally(() => setLoading(false)); }, [id]); @@ -174,14 +174,14 @@ export function JobDetailPage() { const handleDelete = async () => { if (!job?._id) return; - const ok = window.confirm("Bu job'ı silmek istediğinize emin misiniz?"); + const ok = window.confirm("Bu testi silmek istediğinize emin misiniz?"); if (!ok) return; try { await deleteJob(job._id); - toast.success("Job silindi"); + toast.success("Test silindi"); navigate("/jobs", { replace: true }); } catch (err) { - toast.error("Job silinemedi"); + toast.error("Test silinemedi"); } }; @@ -203,7 +203,7 @@ export function JobDetailPage() { return; } await updateJob(job._id, payload); - toast.success("Job güncellendi"); + toast.success("Test güncellendi"); setJob((prev) => prev ? { @@ -281,8 +281,8 @@ export function JobDetailPage() { className="h-10 w-10 transition hover:bg-emerald-100" onClick={handleEdit} disabled={!job} - title="Job'ı düzenle" - aria-label="Job'ı düzenle" + title="Testi düzenle" + aria-label="Testi düzenle" > @@ -292,8 +292,8 @@ export function JobDetailPage() { className="h-10 w-10 transition hover:bg-red-100" onClick={handleDelete} disabled={!job} - title="Job'ı sil" - aria-label="Job'ı sil" + title="Testi sil" + aria-label="Testi sil" > @@ -317,7 +317,7 @@ export function JobDetailPage() { )}
- {job?.name || "Job Detayı"} + {job?.name || "Test Detayı"} {runCount} test @@ -368,7 +368,7 @@ export function JobDetailPage() {
-
Job Güncelle
+
Test Güncelle
Değişiklikler kaydedildiğinde test yeniden tetiklenecek.
- + [{ ...created, runCount: created.runCount ?? 0 }, ...prev]); - toast.success("Job oluşturuldu"); + toast.success("Test oluşturuldu"); } setModalOpen(false); } catch (err) { @@ -163,9 +163,9 @@ export function JobsPage() { setRunningId(id); try { await runJob(id); - toast.success("Job çalıştırılıyor"); + toast.success("Test çalıştırılıyor"); } catch { - toast.error("Job çalıştırılamadı"); + toast.error("Test çalıştırılamadı"); } finally { setRunningId(null); } @@ -185,18 +185,18 @@ export function JobsPage() { <>
-

Jobs

+

Tests

{loading && (
- Jobs yükleniyor... + Testler yükleniyor...
)} {!loading && jobs.length === 0 && ( @@ -280,9 +280,9 @@ export function JobsPage() {
-
{isEdit ? "Job Güncelle" : "Yeni Job"}
+
{isEdit ? "Test Güncelle" : "Yeni Test"}
- Detayları girin, Jobs listesi canlı olarak güncellenecek. + Detayları girin, Tests listesi canlı olarak güncellenecek.
- +