Skip to content

tkn24/ai_project_v2.1

Repository files navigation

ABAP AI Cockpit Pro

v2.1.0 - AI-Powered ABAP Code Analysis & Modernization Platform

SAP Google Gemini License

📖 Genel Bakış

ABAP AI Cockpit Pro, Google Gemini AI ile entegre SAP CAP (Cloud Application Programming) uygulamasıdır. ABAP kodunuzu 7 farklı modda analiz eder ve modernize eder.

image

✨ Özellikler

  • 🎨 Modern UI/UX: SAP Horizon teması, Splitter Layout, Responsive tasarım.

  • 🤖 7 Farklı Analiz Modu:

    • Clean Code: Eski syntax'ı yeni (inline) syntax'a çevirir.
    • Explainer: Karmaşık kod bloklarını satır satır açıklar.
    • Security Scan: SQL Injection ve yetki eksikliklerini tarar.
    • Unit Test: Otomatik cl_abap_unit_assert test sınıfları üretir.
    • Documentation: Teknik dokümantasyon oluşturur.
    • Performance: Performans iyileştirme önerileri sunar.
    • Refactoring: Kodu SOLID prensiplerine göre yeniden düzenler.
  • 🔍 GitHub Entegrasyonu: Benzer kod örneklerini GitHub üzerinde arar.

  • 📊 S/4HANA Check: Kodun S/4HANA uyumluluğunu denetler ve PDF raporlar.

  • 📈 Code Metrics: Kod karmaşıklığını ve kalite metriklerini ölçer.

  • 🆚 Diff Tool: Orijinal ve modernize edilmiş kodu yan yana karşılaştırır.

  • 📚 Kod Şablonları: Hazır ABAP şablonları (Class, Report, Function, ALV)

  • 📜 Analiz Geçmişi: Son 50 analizi kaydetme ve yeniden kullanma

  • ⚙️ Gelişmiş Ayarlar: Tema yönetimi, editor ayarları, AI parametreleri

  • 💾 LocalStorage: Ayarlar ve geçmiş tarayıcıda saklanır

  • 🌙 Dark Mode: Otomatik veya manuel tema değiştirme


Kurulum

Gereksinimler

  • Node.js: >= 18.0.0
  • npm: >= 9.0.0
  • Google AI API Key: AI Studio'dan alın

Adımlar

  1. Projeyi Klonlayın
git clonen https://github.com/tkn24/ai_project_v2.1.git
cd ai_project_v2
  1. Bağımlılıkları Yükleyin
npm install
  1. API Key Yapılandırması

Seçenek 1 - Environment Variable (Önerilen - Production)

# Windows PowerShell
$env:GOOGLE_API_KEY="YOUR_GEMINI_KEY_HERE"
$env:GITHUB_TOKEN="YOUR_GITHUB_TOKEN_HERE"

# Linux/Mac
export GOOGLE_API_KEY="YOUR_GEMINI_KEY_HERE"
export GITHUB_TOKEN="YOUR_GITHUB_TOKEN_HERE"

Seçenek 2 - .env Dosyası Proje içerisinde .env_examp klasörü mevcut.

# Kök dizinde .env dosyası oluşturun
GOOGLE_API_KEY=YOUR_GEMINI_KEY_HERE
GITHUB_TOKEN=YOUR_GITHUB_TOKEN_HERE

Seçenek 3 - Kod İçinde (Development Only)

// srv/service.js dosyasında AI_CONFIG.GOOGLE_API_KEY değişkenini güncelleyin
  1. Uygulamayı Başlatın
npm start
  1. Tarayıcıda Açın
http://localhost:4004/project1/index.html

🎯 Kullanım

Temel Kullanım

  1. Kod Girin: Sol editöre ABAP kodunuzu yapıştırın
  2. Mod Seçin: Yukarıdan bir analiz modu seçin
  3. Analiz Edin: "Analizi Başlat" butonuna tıklayın
  4. Sonucu Görün: Sağ editörde AI sonucunu görüntüleyin

Kod Şablonları

  • Header'daki "📚 Şablonlar" butonuna tıklayın
  • Kategori seçin (Class, Report, Function, ALV)
  • Şablonu seçip "Kullan" butonuna tıklayın

Geçmiş Yönetimi

  • "📜 Geçmiş" butonuna tıklayın
  • Önceki analizleri görün ve filtreleyin
  • İstediğiniz kaydı seçip "Yeniden Kullan" yapın

Ayarlar

"⚙️ Ayarlar" menüsünden:

  • Tema modunu değiştirin (Otomatik/Aydınlık/Karanlık)
  • Editor font boyutunu ayarlayın
  • AI model ve parametreleri seçin
  • Verileri dışa aktarın

📁 Proje Yapısı

ai_project_v2/
├── app/                              # UI katmanı
│   └── project1/
│       └── webapp/
│           ├── controller/           # Controller dosyaları
│           │   └── View1.controller.js
│           ├── view/                 # View dosyaları
│           │   ├── View1.view.xml
│           │   └── fragments/        # Reusable fragments
│           │       ├── CodeTemplates.fragment.xml
│           │       ├── Settings.fragment.xml
│           │       └── AnalysisHistory.fragment.xml
│           ├── css/
│           │   └── style.css         # Modern CSS framework
│           ├── i18n/                 # Internationalization
│           └── manifest.json         # App config
├── srv/                              # Backend servisleri
│   ├── service.cds                   # Service tanımları
│   └── service.js                    # AI entegrasyon logic
├── package.json
└── README.md

🔧 Yapılandırma

AI Model Ayarları

srv/service.js dosyasında:

const AI_MODELS = {
    FAST: 'gemini-2.5-flash',       // Hızlı yanıtlar için
    ADVANCED: 'gemini-2.5-flash',   // Karmaşık analizler için
    STABLE: 'gemini-2.5-flash'      // Stabil performans için
};

Temperature ve Token Limitleri

UI'dan veya kod içinden ayarlanabilir:

generationConfig: {
    temperature: 0.7,          // 0.0-1.0 arası (düşük: tutarlı, yüksek: yaratıcı)
    maxOutputTokens: 4096,     // Maksimum çıktı uzunluğu
    topP: 0.95,
    topK: 40
}

🎨 Temalandırma

CSS Custom Properties

app/project1/webapp/css/style.css dosyasında tüm renkler ve tema değişkenleri tanımlıdır:

:root {
    --primary-color: #3b82f6;
    --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --glass-bg: rgba(255, 255, 255, 0.1);
    /* ... */
}

Dark Mode

Otomatik tema algılama veya manuel geçiş:

  • Header'daki "🎨 Tema" butonunu kullanın
  • Ayarlardan kalıcı olarak değiştirin

🧪 Test Etme

Manuel Test

  1. Sample ABAP kodu yapıştırın:
REPORT z_test.
DATA lv_text TYPE string.
lv_text = 'Hello World'.
WRITE: / lv_text.
  1. Her bir modu test edin (CLEAN, EXPLAIN, SECURITY, vs.)
  2. Sonuçların döndüğünü doğrulayın

Example Test Cases

// Test 1: Clean Code Mode
Input: Classic ABAP code with DATA statements
Expected: Inline declarations, field-symbols

// Test 2: Security Mode
Input: Code with EXEC SQL
Expected: SQL injection warnings

// Test 3: Unit Test Mode
Input: Simple method
Expected: AUnit test class

🚀 Deployment

SAP BTP'ye Deploy

npm run build
cf push

Environment Variables (Production)

cf set-env <app-name> GOOGLE_API_KEY <your-key>

Docker ile Çalıştırma

FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
ENV GOOGLE_API_KEY=your_key_here
CMD ["npm", "start"]

🐛 Sorun Giderme

API Key Hatası

Problem: ❌ API KEY tanımlı değil!

Çözüm:

  1. Environment variable'ı kontrol edin: echo $GOOGLE_API_KEY
  2. srv/service.js dosyasında AI_CONFIG'i kontroll edin
  3. Yeni API key alın: https://aistudio.google.com/app/apikey

Quota Aşımı

Problem: 429: Kota aşıldı

Çözüm:

  • Yarın tekrar deneyin (ücretsiz tier daily limit)
  • Ücretli plana geçin
  • Daha az request gönderin

UI Görünmüyor

Problem: Beyaz ekran

Çözüm:

  1. Browser console'u kontrol edin (F12)
  2. npm start çıktısında hata var mı bakın
  3. Port 4004 açık mı kontrol edin: netstat -an | findstr 4004

📊 Özellik Roadmap

✅ Tamamlanan (v2.1.0)

  • Modern UI/UX with glassmorphism
  • 7 analiz modu
  • Kod şablonları
  • Analiz geçmişi
  • Gelişmiş ayarlar
  • Dark mode
  • LocalStorage persistence

🔮 Gelecek Sürümler

  • AI Chat İnterface
  • Batch analysis (çoklu dosya)
  • Custom prompts (kullanıcı tanımlı)
  • Export to PDF/Word
  • Real-time collaboration
  • VSCode extension

🤝 Katkıda Bulunma

Katkılarınızı bekliyoruz!

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/AmazingFeature)
  3. Commit edin (git commit -m 'Add some AmazingFeature')
  4. Push edin (git push origin feature/AmazingFeature)
  5. Pull Request açın

📝 Lisans

MIT License - detaylar için LICENSE dosyasına bakın.

📧 İletişim

Proje Linki: https://github.com/tkn24/ai_project_v2.1

Issues: https://github.com/tkn24/ai_project_v2.1/issues


About

new vrs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors