Files
Wisecolt-CI/.serena/memories/proje_genel_bilgiler.md

4.4 KiB
Raw Permalink Blame History

Wisecolt-CI Proje Genel Bilgileri

Proje Tanımı

Wisecolt-CI, modern web teknolojileriyle geliştirilmiş tam teşekküllü bir CI/CD (Sürekli Entegrasyon/Sürekli Dağıtım) platformudur. Proje, repository otomasyonu ve test süreçlerini yönetmek için tasarlanmıştır.

Teknoloji Yığını

Backend

  • Platform: Node.js + TypeScript
  • Framework: Express.js
  • Veritabanı: MongoDB
  • Gerçek Zamanlı: Socket.io
  • Kimlik Doğrulama: JWT (JSON Web Token)
  • Process Yönetimi: Child Process (git, npm komutları)
  • Geliştirme Araçları: tsx (hot-reload)

Frontend

  • Platform: React 18 + TypeScript
  • Build Tool: Vite
  • Stil: Tailwind CSS
  • UI Bileşenleri: shadcn/ui
  • Rotalama: React Router DOM
  • HTTP Client: Axios
  • Font Awesome: Font Awesome SVG Icons
  • Toast Bildirimleri: Sonner
  • İkonlar: Lucide React

DevOps

  • Konteynerizasyon: Docker + Docker Compose
  • Hot Reload: Geliştirme anında kod değişiklikleri
  • Environment: .env konfigürasyon yönetimi

Proje Yapısı

wisecolt-ci/
├── backend/
│   ├── src/
│   │   ├── config/env.ts           # Konfigürasyon yönetimi
│   │   ├── middleware/authMiddleware.ts  # JWT kimlik doğrulama
│   │   ├── models/job.ts           # MongoDB Job modeli
│   │   ├── routes/
│   │   │   ├── auth.ts            # Giriş/kimlik endpoint'leri
│   │   │   └── jobs.ts            # Job yönetim endpoint'leri
│   │   ├── services/jobService.ts   # Job süreç yönetimi
│   │   └── index.ts               # Express sunucu ana dosyası
│   ├── package.json
│   ├── tsconfig.json
│   ├── Dockerfile
│   └── .env
├── frontend/
│   ├── src/
│   │   ├── api/
│   │   │   └── client.ts           # API istemci ayarları
│   │   ├── components/
│   │   │   ├── ui/                 # shadcn/ui bileşenleri
│   │   │   ├── ProtectedRoute.tsx  # Korumalı rotalar
│   │   │   ├── DashboardLayout.tsx # Ana kontrol paneli
│   │   │   └── ThemeToggle.tsx     # Tema değiştirme
│   │   ├── pages/                   # Sayfa bileşenleri
│   │   │   ├── LoginPage.tsx       # Giriş sayfası
│   │   │   ├── HomePage.tsx        # Ana sayfa
│   │   │   ├── JobsPage.tsx        # Job listesi
│   │   │   └── JobDetailPage.tsx   # Job detayı
│   │   ├── providers/                # React Context Provider'lar
│   │   │   ├── auth-provider.tsx   # Kimlik yönetimi
│   │   │   ├── socket-provider.tsx # Socket.io bağlantısı
│   │   │   ├── live-provider.tsx    # Gerçek zamanlı güncellemeler
│   │   │   └── theme-provider.tsx  # Tema yönetimi
│   │   ├── lib/utils.ts             # Yardımcı fonksiyonlar
│   │   ├── App.tsx                 # Ana uygulama bileşeni
│   │   └── main.tsx                # Giriş noktası
│   ├── package.json
│   ├── vite.config.ts
│   ├── tailwind.config.js
│   └── Dockerfile
├── docker-compose.yml
└── README.md

Temel Özellikler

Authentication Sistemi

  • JWT tabanlı kimlik doğrulama
  • .env dosyasında yönetilen admin bilgileri
  • Korumalı rotalar için middleware
  • localStorage tabanlı token saklama

Job Yönetim Sistemi

  • Repository URL ve test komutu tanımımlama
  • Zaman tabanlı otomatik çalıştırma (dakika/saat/gün)
  • Real-time durum güncellemeleri
  • Job log akışı
  • Test sonuçlarını kayıt ve izleme

Real-time İletişim

  • Socket.io tabanlı gerçek zamanlı iletişim
  • Job durum güncellemeleri
  • Sayaç yayınınlaması
  • Canlı log akışı

UI/UX Özellikler

  • Modern React tabanlı arayüz
  • shadcn/ui bileşen kütüphanesi
  • Tailwind CSS ile responsive tasarım
  • Dark/Light tema desteği
  • Toast bildirim sistemi

Port Yapılandırması

Environment Değişkenleri

  • PORT: Backend sunucu portu (4000)
  • MONGO_URI: MongoDB bağlantı adresi
  • ADMIN_USERNAME: Admin kullanıcı adı
  • ADMIN_PASSWORD: Admin şifresi
  • JWT_SECRET: JWT imzalama anahtarı
  • CLIENT_ORIGIN: Frontend adresi (CORS için)