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

120 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
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.
# 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ı
- Frontend: http://localhost:5173
- Backend API: http://localhost:4000
- MongoDB: localhost:27017
## 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)