Skip to content

coderianx/pardusedu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PardusEdu

Öğrenci Merkezi — Akademik Yaşamın Hepsi Bir Arada

TEKNOFEST Pardus License: GPL v3 C++17 GTK4 Build Tests Platform


PardusEdu, Pardus Linux için geliştirilmiş, öğrencilerin tüm akademik ihtiyaçlarını tek bir çatı altında toplayan açık kaynaklı bir GTK4 masaüstü uygulamasıdır.
TEKNOFEST 2026 — Pardus Öneri ve Geliştirme Kategorisi.


✨ Öne Çıkan Özellikler

🕐 Pomodoro

Zaman yönetimi, seri takibi, özelleştirilebilir süreler

📋 Görevler

5 kategori, 3 öncelik, son tarih, canlı istatistik

📝 Notlar

Ders bazlı düzenleyici, biçimlendirme araç çubuğu, harf notu

📅 Program

Haftalık zaman çizelgesi, derslik takibi

🔒 Dikkat Modu

17+ site engelleme, sistem seviyesinde, süre takibi

🧠 Yapay Zeka

4 sağlayıcı, 30+ model, Wikipedia, YouTube transkript

🐍 Python Öğren

61 bölüm, 14.500+ satır, WebKit render

🐧 Linux Komutları

52 komut, 7 kategori, filtreleme

🃏 Flashcards

SM-2 algoritması, AI kart oluşturma, Anki export

🏆 Rozetler

9 seri seviyesi, 5-365 gün, görsel ilerleme

📊 Haftalık Analiz

AI destekli özet, öneri, motivasyon

🧪 PardusLab

Podman konteyner, VTE terminal, komut sandbox

🎯 AI Koç

Hedef takibi, soru günlüğü, AI rapor + plan


📸 Ekran Görüntüleri

Ekran görüntüleri için screenshots.html sayfasını ziyaret edin.


🏗 Mimari

pardusedu/
├── src/                          # C++ kaynak kodu
│   ├── main.cpp                  # Uygulama giriş noktası
│   ├── mainwindow.h              # Ana pencere bildirimi (~515 satır, tüm state)
│   ├── ui_setup.cpp              # UI başlatma, sidebar, tema (~555 satır)
│   ├── pages.cpp                 # **Tüm sayfalar (~7.900 satır)**
│   ├── data_manager.cpp          # Veri yönetimi (kayıt/yükleme, ~560 satır)
│   ├── ai_client.cpp/.h          # AI asistan (multi-provider, async, ~1.000 satır)
│   ├── calc_letter.cpp/.h        # Harf notu hesaplama
│   ├── parduslab.cpp/.h          # PardusLab (Podman + VTE, ~200 satır)
│   ├── meson.build               # Kaynak derleme yapılandırması
│
├── assets/                       # UI varlıkları
│   ├── style.css                 # Ana stil dosyası (~2.150 satır)
│   ├── pardus*.svg               # Pardus logoları
│   ├── send.svg, save.svg, sun.svg, moon.svg
│   ├── badges/                   # Rozet PNG'leri
│   ├── parduslab/                # PardusLab challenge dosyaları
│   └── dersler/                  # Ders içerikleri (markdown)
│
├── docs/python/                  # Python eğitim dokümanı (~14.500 satır)
│
├── tests/                        # Google Test birim testleri
│   ├── test_calc_letter.cpp      # Harf notu sınır testleri (7 test)
│   └── test_extract_ai_reply.cpp # AI JSON ayrıştırma testleri (8 test)
│
├── server/                       # (İsteğe bağlı) Not paylaşım sunucusu
│   └── main.py                   # FastAPI + SQLite + Redis
│
├── web/                          # Web sitesi (landing page)
│
├── resources.gresource.xml       # GResource derleme listesi
├── meson.build                   # Ana derleme yapılandırması
└── LICENCE                       # GPLv3

Kullanılan Teknolojiler

Katman Teknoloji
GUI Çatısı GTK4 + gtkmm-4.0 (C++ bindings)
Web Görüntüleyici WebKitGTK 6.0
HTTP İstemci libcurl (asenkron wrapper ile)
JSON nlohmann/json (modern C++)
Markdown md4c-html
Test Google Test
Derleme Meson + Ninja
Dil C++17
Varlık Yönetimi GResource (binary'e gömülü)
Konteyner Podman (PardusLab)
Terminal VTE (GTK4)
QR Kod libqrencode
AI Sağlayıcılar Groq Cloud, OpenRouter, Google Gemini, Ollama (yerel)

🚀 Başlangıç

Bağımlılıklar

Debian / Ubuntu / Pardus
sudo apt install build-essential meson ninja-build \
  libgtkmm-4.0-dev libwebkitgtk-6.0-dev \
  libcurl4-openssl-dev nlohmann-json3-dev \
  libmd4c-html-dev libgtest-dev \
  libvte-2.91-gtk4-dev libqrencode-dev
Arch Linux
sudo pacman -S base-devel meson ninja gtkmm4 webkitgtk-6.0 \
  curl nlohmann-json md4c gtest vte4 qrencode

Derleme

# Yapılandırma
meson setup build

# Derleme
ninja -C build

# Test
ninja -C build test

# Çalıştırma
./build/student-hub

🧪 Test Durumu

Test Suite                  # Tests   Status
─────────────────────────────────────────────
calc_letter                  7/7      ✅ PASS
extract_ai_reply             8/8      ✅ PASS
─────────────────────────────────────────────
Total                       15/15     ✅ ALL PASS
ninja -C build test

📦 Modüller

01 — Pano

Kişiselleştirilmiş karşılama, çalışma serisi (streak) sayacı, tamamlanan pomodoro ve odak süresi istatistikleri. Haftalık analiz butonuna tek tıkla erişim.

02 — Pomodoro 🕐

Özelleştirilebilir zamanlayıcı (1–120 dk çalışma, 1–30 dk mola). Başlat/Sıfırla/Atla kontrolleri, görsel ilerleme çubuğu, seri takibi ve otomatik kaydetme. Her tamamlanan döngü istatistiklere eklenir.

03 — Görev Yöneticisi 📋

Beş kategori (Genel, Ders Çalışma, Proje, Sınav, Ödev) ve üç öncelik seviyesi (Düşük/Orta/Yüksek). Son tarih girişi, tamamlandı işaretleme, silme ve anlık istatistikler.

04 — Notlar 📝

Ders bazlı not sistemi: sol panelde ders listesi, sağ panelde zengin metin düzenleyici (kalın, italik, altı çizili, üstü çizili, başlıklar). Biçimlendirme araç çubuğu, harf notu hesaplama, otomatik kaydetme, paylaşım desteği.

05 — Ders Programı 📅

Pazartesi–Cuma haftalık zaman çizelgesi. Özelleştirilebilir saat dilimleri, ders adı ve konum girişi. Hücreye tıklayarak ekleme/düzenleme/silme, toplu temizleme ve renk kodlu bloklar.

06 — Dikkat Modu 🔒

Instagram, Twitter/X, Facebook, TikTok, Reddit, Netflix, Discord, Twitch olmak üzere 17+ siteyi /etc/hosts üzerinden sistem seviyesinde engeller. pkexec ile güvenli yükseltme, odak süresi sayacı, Pomodoro'dan bağımsız çalışır.

07 — Linux Komutları 🐧

85 temel Linux komutu, 7 kategoride, her biri detaylı açıklamalar, seçenekler ve örneklerle. Canlı arama filtresi ile anında komut bulma.

Kapsanan komutlar: ls, cd, pwd, cp, mv, rm, mkdir, cat, grep, find, chmod, chown, ps, top, kill, tar, wget, curl, ssh, scp, df, du, free, uname, whoami, sudo, apt, dnf, systemctl, journalctl, man, history, alias, ln, diff, head, tail, sort, uniq, wc, awk, sed, cut, ping, ip, touch, tree, file, stat, nslookup, dig, useradd, basename, dirname, xargs, tee, watch, rsync, cron, lsblk, lsof, ss, dpkg, jq, strace, nc, tcpdump, gpg, openssl, git, make, which, whereis, mount, umount, uptime, hostname, printenv, type, sensors, sysctl, nice, fdisk, mkfs, logrotate, parallel, who

08 — Yapay Zeka Asistanı 🧠

Dört farklı sağlayıcı ve 30+ model desteği:

Sağlayıcı Örnek Modeller
Groq Cloud llama-3.3-70b-versatile, mixtral-8x7b, gemma2-9b
OpenRouter openai/gpt-4o-mini, qwen-2.5-72b, claude-3.5-sonnet
Google Gemini gemini-2.0-flash, gemini-1.5-pro (Google Search entegre)
Ollama llama3.2, mistral (yerel, internet gerektirmez)

Özellikler:

  • 🔍 DuckDuckGo arama — toggle ile anlık web araştırması
  • 📺 YouTube transkript — video bağlantısı gönderince otomatik ders notu
  • 📝 Not CRUD — AI ile not ekleme/güncelleme/silme
  • 💬 Konuşma geçmişi — bağlam koruma, token yönetimi
  • 🌓 Wikipedia entegrasyonu
  • Asenkron çağrılar — UI bloklamaz
  • 🎯 Haftalık analiz — çalışma verilerini AI ile yorumlama

09 — Python Öğren 🐍

WebKit tabanlı, uygulama içi Python eğitimi. 61 bölüm, ~14.500 satır kapsamlı doküman. Markdown'dan HTML'ye anında dönüşüm (md4c), karanlık/aydınlık tema desteği, bölümler arası gezinme.

Konular: Temel veri tipleri → Kontrol yapıları → Fonksiyonlar → OOP → NumPy/Pandas → Flask/FastAPI → Asenkron programlama → Test yazma → Veritabanları

🎯 Bonus Modüller

🃏 Flashcards (SM-2 Algoritması)

Tam spaced repetition sistemi: SM-2 tabanlı önceliklendirme, AI ile kart oluşturma, 0-5 arası derecelendirme, Anki TSV export, zayıf kart analizi.

🏆 Rozetler

9 seri seviyesi: 5 → 10 → 15 → 21 → 30 → 50 → 100 → 200 → 365 gün. Her seviyede görsel rozet.

📊 Haftalık Analiz

Pomodoro, görev, flashcard ve odak verilerini toplar, AI ile özet/öneri/motivasyon oluşturur. Zayıf kartları belirler, çalışma oturumu başlatır.

🧪 PardusLab

Podman konteyner yönetimi: VTE terminal emülatörü, çoklu kullanıcı desteği, komut sandbox, challenge sistemi. pkexec ile güvenli yükseltme.

🎯 AI Koç

Kişisel AI eğitim koçu. Öğrenci hedefini belirler, her gün çözdüğü soruları (ders/konu bazında doğru/yanlış/boş) kaydeder. Haftalık AI raporu ile performans değerlendirmesi ve haftalık çalışma planı (JSON tablosu, Pazartesi-Pazar). Opsiyonel ek not alanı ile AI'ya ek yönlendirme. Canlı hata analizi (Bu Hafta: özet satırı).


🔧 Geliştirme

# Temiz yapılandırma
meson setup build --wipe

# Derleme (değişiklik sonrası)
ninja -C build

# Test
ninja -C build test

# Binary'yi strip et (boyut küçültme)
strip build/student-hub

Proje Konvansiyonları

Kural Açıklama
Dil C++17, GTKMM 4.0
Build Meson + Ninja
Test Google Test (her yeni özellik için test zorunlu)
Stil Anlamlı değişken isimleri (Türkçe/İngilizce), yorumlu kritik bölümler
Kayıt Veriler XDG dizininde .dat formatında, data_manager üzerinden

🤝 Katkı

Katkılarınızı memnuniyetle karşılıyoruz!

  1. Depoyu fork edin
  2. Yeni bir branch oluşturun (git checkout -b ozellik/yeni-ozellik)
  3. Değişikliklerinizi yapın
  4. Testleri çalıştırın (ninja -C build test)
  5. Commit gönderin (git commit -m 'feat: yeni özellik eklendi')
  6. Branch'inizi push edin (git push origin ozellik/yeni-ozellik)
  7. Pull Request açın

📜 Lisans

Bu proje GNU General Public License v3.0 ile lisanslanmıştır.
Detaylar için LICENCE dosyasına bakın.


🔗 Bağlantılar

TEKNOFEST Pardus Groq Cloud OpenRouter GTK Meson




PardusEduÖğrenciler için tasarlandı, Pardus için geliştirildi
Geliştirici: Coderian  ·  © 2026  ·  TEKNOFEST Pardus Öneri ve Geliştirme Kategorisi

About

PardusEdu | Pardus ekosistemi için yeni nesil eğitim ve öğrenme deneyimi

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors