Skip to content

brkeyp/python-ocagi

Repository files navigation

🐍 Python Ocağı

Terminal tabanlı, interaktif Python öğrenme platformu Veri Analizi Okulu - VAO Etkisi 💜

✨ Özellikler

  • 🎓 Kapsamlı İçerik - Bölümler boyunca uzanan adım adım Python müfredatı
  • 🔒 Güvenli Sandbox - Kullanıcı kodu izole bir ortamda çalışır
  • 🎨 Syntax Highlighting - Gerçek zamanlı renklendirme ile kod yazma keyfi
  • 📊 İlerleme Takibi - Tamamlanan ve atlanan görevler kaydedilir, kaybetmek yoktur deneyim vardır.
  • 🌈 Türkçe Arayüz - Tamamen Türkçe kullanıcı deneyimi
  • 🔌 Çevrimdışı (Offline) Destek - İnternetiniz olmasa bile bilgisayarınıza kurduktan sonra öğrenmeye devam edebilirsiniz.

🚀 Hızlı Başlangıç

Aşağıdaki komutu bilgisayarınızın terminaline yapıştırıp ENTER'a basın — karşınıza interaktif bir karşılama ekranı çıkacak:

🪟 Windows İçin

PowerShell programını açın (Başlat menüsüne "powershell" yazabilirsiniz) ve şu komutu yapıştırın:

iex (iwr -useb https://raw.githubusercontent.com/brkeyp/python-ocagi/main/kur_windows.ps1)

🍎 Mac ve 🐧 Linux İçin

Terminal programını açın ve şu komutu yapıştırın:

curl -sL https://raw.githubusercontent.com/brkeyp/python-ocagi/main/kur_unix.sh | bash

📋 Menü Seçenekleri

Tuş Seçenek Açıklama
Enter 🚀 Hemen Başla Kurulum yapmadan direkt dene
K 🔧 Bilgisayarıma Kur Masaüstü kısayolu oluşturur. İnternet varsa güncellenir, yoksa çevrimdışı (offline) çalışır.
Q ❌ Çıkış

💾 Hangi seçeneği seçerseniz seçin, ilerlemeniz bilgisayarınızda güvenle saklanır. Silmediğiniz veya uygulama içinden sıfırlamadığınız sürece kaldığınız yerden devam edersiniz.

⚠️ Sisteminizde Python yoksa, sorun değil! İzniniz alınarak izole ve stabil bir sürüm (Python 3.13) sizin için otomatik olarak yüklenir.

🗑️ Uygulamayı Kaldırma (Uninstall)

"Hemen Başla" seçeneği ile çalışıyorsanız kaldırmanıza gerek yok. "Bilgisayarıma Kur" seçeneği ile çalıştıysanız eğer masaüstünüzde oluşturulan "Python Ocagi" klasörünü açıp, içindeki "Uygulamayı Kaldır" seçeneğini kullanarak uygulamayı sisteminizden tek tuşla, tamamen ve iz bırakmadan silebilirsiniz. Bu aşamada ilerlemenizi silmek isteyip istemediğiniz sorulacaktır. Silmezseniz eğer tekrar yukarıdaki iex komutlarını kullanarak "Hemen Başla" özelliğini (kaldığınız yerden) kullanmaya devam edebilirsiniz.

🎮 Kullanım

Klavye Kısayolları

Tuş İşlev
Enter (x2) Kodu gönder / Soruyu atla
Alt+←/→ Önceki/Sonraki soru
F1 İpucu göster/gizle
Ctrl+R İlerlemeyi sıfırla
Ctrl+C Çıkış
ESC+VAO Geliştirici mesajı

Ekran Yapısı

┌─────────────────────────────────────┐
│  🐍 Python Ocağı                    │
├─────────────────────────────────────┤
│  BÖLÜM:     Temeller                │
│  GÖREV 1:   Print Fonksiyonu        │
├─────────────────────────────────────┤
│  SORU: print() ile "Merhaba"        │
│        yazdırın.                    │
├─────────────────────────────────────┤
│  > print("Merhaba")_                │
│                                     │
├─────────────────────────────────────┤
│  ESC+VAO · ? İpucu · Alt+← Geç      │
└─────────────────────────────────────┘

📚 Müfredat

Bölüm Konu Ders Sayısı
1 Temeller 12
2 Stringler 5
3 Listeler 9
4 Tuple ve Set 6
5 Sözlükler 6
6 Koşullu İfadeler 6
7 Döngüler 6
8 Fonksiyonlar 8
9 Modüller 4
10 Dosya İşlemleri 3
11 Hata Yönetimi 7
12 OOP 8
13 İleri Veri Yapıları 6
14 İleri Fonksiyonlar 6
15 JSON ve API 5
16 Final Projesi 1

🛠️ Geliştirme

Test Çalıştırma

python3 -m pytest tests/ -v

Müfredat Doğrulama

python3 tools/validate_curriculum.py

Yeni Ders Ekleme

python3 tools/scaffold_lesson.py <bölüm> <ders_adı>

📁 Proje Yapısı

├── main.py              # Bootstrapper ve ortam hazırlığı
├── config.py            # Merkezi konfigürasyon ve sabitler
├── controller.py        # Ana uygulama döngüsü
├── engine.py            # Öğrenme simülasyon motoru
├── curriculum_manager.py# Ders klasörü yönetimi
├── ui/                  # Kullanıcı Arayüzü
│   ├── editor.py        # Curses tabanlı kod editörü
│   ├── renderer.py      # Ekran çizim motoru
│   └── ...              # Diğer ui bileşenleri
├── sandbox/             # Güvenli Çalıştırma Ortamı
│   ├── executor.py      # İzolasyon işlemleri
│   ├── guards.py        # Kaynak korumaları
│   └── ...              # Diğer sandbox bileşenleri
├── input/               # Girdi Yönetim Sistemi
├── curriculum/          # Ders içerikleri
└── tests/               # Test dosyaları

🔒 Güvenlik

Kullanıcı kodu şu korumalarla çalıştırılır:

  • İşlem İzolasyonu - Ayrı process'te çalışır
  • Bellek Limiti - Maksimum 100 MB
  • CPU Limiti - Maksimum 5 saniye
  • Döngü Limiti - Maksimum 2 milyon işlem
  • Modül Kısıtlaması - Sadece güvenli modüller

📄 Lisans

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

About

Terminal tabanlı, interaktif Python öğrenme platformu.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors