Atölye.Platform, Alanya Mesleki ve Teknik Anadolu Lisesi için geliştirilen, Pardus ve Debian tabanlı sistemlerde yerel ağ üzerinden çalışan açık kaynaklı bir sınav ve ödev yönetim ekosistemidir. Öğretmenlere uçtan uca sınav oluşturma, dağıtma, toplama ve değerlendirme; öğrencilere ise şık ve odaklanmış bir portal sunar.
Note
Atölye.Platform bir PolyOS ürünüdür — Pardus Okul Laboratuvar Yönetim ve Ödev Sistemi.
Important
Atölye.Platform, Alanya Mesleki ve Teknik Anadolu Lisesi (Alanya MTAL) Bilişim Teknolojileri alanındaki bilgisayar laboratuvarlarında aktif olarak Alpha aşamasında test edilmektedir ve gerçek sınav/ödev süreçlerinde başarıyla kullanılmaktadır.
Mevcut bulut tabanlı alternatifler (Google Classroom, Moodle vb.), Milli Eğitim Bakanlığı (MEB) Fatih internet ağındaki erişim kısıtlamaları (kısıtlı portlar, engellenen domainler) ve Pardus laboratuvar ortamlarında doğrudan yerel ağ üzerinden hızlı dosya transferi gereksinimi sebebiyle yetersiz kalmaktadır.
Atölye.Platform bu ihtiyaçları yerel ağ mimarisiyle çözer:
- 📡 İnternet Bağımsızlığı: Sunucu ve istemciler tamamen intranet (yerel ağ) üzerinde haberleşir, dış dünyaya ihtiyaç duymaz.
- ⚡ Sıfır Konfigürasyon: mDNS (Bonjour) protokolü sayesinde IP adresi veya DNS ayarı gerektirmeksizin cihazlar birbirini otomatik bulur.
- 🐧 Pardus Uyumluluğu: Yerli işletim sistemimiz Pardus ve LiderAhenk merkezi yönetim sistemi ile doğal olarak entegre çalışır.
- 📈 Maksimum Hız: Gigabit yerel ağ hızında, yüzlerce öğrenciye ait dosyalar saniyeler içinde toplanır ve dağıtılır.
Derleme yapmadan, aşağıdaki hazır paketlerle saniyeler içinde kurulum yapın:
| Paket | İşletim Sistemi | İndir | |
|---|---|---|---|
| 🖥️ | Öğretmen Sunucusu | Pardus / Debian | 📥 .deb Sunucu |
| 🪟 | Masaüstü İstemci | Windows 10/11 | 📥 .exe Kurulum |
| 🐧 | Masaüstü İstemci | Linux / Pardus | 📥 .deb İstemci |
Tip
Pardus kullanıcıları: .deb paketlerini çift tıklayarak veya sudo dpkg -i paket.deb komutuyla yükleyebilirsiniz.
Important
🎉 v4.2.0 İle Gelen Dev Yenilikler
- 📱 PWA (Progressive Web App) Desteği: Platform artık telefon, tablet ve masaüstüne yerel uygulama gibi çevrimdışı önbellekleme desteği ile yüklenebilir.
- 💎 TypeScript Mimarisi: Güvenilirlik ve performans için tüm altyapı JavaScript'ten TypeScript'e geçirildi.
- 🕒 İşlem Geçmişi (Operation History): Platform üzerindeki kritik işlemler geriye dönük izlenebilir.
- 🛡️ Anti-Cheat & Kiosk Modu: Öğrenci sınav sırasında odak kaybettiğinde, başka bir pencereye geçtiğinde otomatik olarak güvenliği devreye alır.
- 👨🏫 Bağımsız Öğretmen Değerlendirme Sistemi: Her öğretmen, aynı sınavdaki değerlendirmelerini kendi arayüzünde tamamen izole yönetebilir.
- ⚙️ GitHub Actions Sürekli Entegrasyon (CI/CD): Tüm projenin derlenmesi otomatikleştirilmiştir.
|
|
| Özellik | Açıklama |
|---|---|
| 🔐 WebAuthn / Passkey | Windows Hello ve Pardus biyometrik sistemleriyle şifresiz giriş |
| 📂 LiderAhenk / LDAP | Kurumsal kullanıcı dizinleriyle otomatik senkronizasyon (Beta) |
| 📡 mDNS Auto-Discovery | İstemciler sunucuyu ağda otomatik keşfeder — IP girmeye gerek yok |
| 🛡️ Kod Karıştırma | Production build'de JavaScript Obfuscation ile kaynak kodu koruması |
| 🔒 JWT Authentication | Her API çağrısında token bazlı yetkilendirme |
| ⏱️ Rate Limiting | Brute-force ve DDoS koruması |
| 📑 Güvenli PDF/Resim | Kimlik doğrulamalı ve korumalı dosya izleyici (v4.0.1) |
| 💾 SQLite Veritabanı | Yerleşik node:sqlite veritabanı (SQLite native modülü yoksa otomatik JSON fallback desteği) |
| 🚫 Anti-Cheat / Kiosk | Electron istemcisi üzerinde çalışan Alt+Tab tespiti, Developer Tools engellemesi, odak kaybı izleme ve sadece istemci üzerinden sınava giriş izni (v4.0.1) |
Sınav güvenliğini en üst düzeye çıkarmak için Electron İstemcisi özel bir kiosk ve koruma moduyla çalışır:
- Klavye / Kısayol Engeli:
Alt+Tab,Ctrl+Alt+Del(Windows için) veya Pardus/Linux masaüstü geçiş kısayolları izlenir ve engellenir. - Ekran ve Odak Takibi: Öğrenci sınav ekranı dışına tıkladığında veya odağı kaybettiğinde sisteme otomatik uyarı düşer.
- Developer Tools Koruması: Tarayıcı konsolunun açılması engellenir, kaynak koduna erişim kapatılır.
- Zorunlu İstemci: Sınav oluşturulurken "Sadece İstemci (Kiosk) İzni" seçilerek öğrencilerin tarayıcıdan girmesi tamamen engellenebilir.
| Dashboard | Sınav Oluşturma |
|---|---|
![]() |
![]() |
| Canlı istatistikler ve sistem takibi | Esnek sınav hazırlama ekranı |
| Değerlendirme | Kullanıcı Yönetimi |
|---|---|
![]() |
![]() |
| Split-view notlandırma ve geri bildirim | Öğrenci ve öğretmen hesap yönetimi |
| Güvenlik Ayarları | |
|---|---|
![]() |
|
| Passkey, güvenlik ve platform ayarları |
| Öğrenci Dashboard | Sınav Ekranı | Soru Görüntüleyici |
|---|---|---|
![]() |
![]() |
![]() |
| Sade ve odaklanmış öğrenci portalı | Dosya yükleme ve sınav teslim arayüzü | Güvenli ve şık dosya izleme modalı |
| Gereksinim | Minimum |
|---|---|
| Node.js | v18.0.0+ |
| npm | v9.0.0+ |
| İşletim Sistemi | Pardus 21+ / Debian 11+ / Windows 10+ |
| RAM | 2 GB (Sunucu) |
| Disk | 500 MB boş alan |
# 1. Projeyi klonlayın
git clone https://github.com/Emiran404/Atolye.Platform.git
cd Atolye.Platform
# 2. Otomatik kurulum sihirbazını çalıştırın
chmod +x kurulum.sh
./kurulum.sh
# 3. Platformu başlatın
chmod +x baslat.sh
./baslat.shFatih Projesi internet ağındaki port kısıtlamaları veya tamamen interneti bulunmayan bilgisayar laboratuvarları için projenin Çevrimdışı (Offline) Paket desteği mevcuttur:
- GitHub Releases sayfasından güncel çevrimdışı paketi (
atolye-platform-offline_v4.0.1.zipveya ilgili sürüm) indirin ve sunucu bilgisayarına taşıyın. - Arşivi proje klasörü içerisine kopyalayın (açmanıza gerek yoktur).
- Kurulum sihirbazını çalıştırın:
chmod +x kurulum.sh ./kurulum.sh
- Ekrana gelen seçeneklerden "2) Çevrimdışı (Offline)" modunu seçin.
- Sihirbaz yereldeki zip dosyasını tespit edip, dış ağ bağımlılıklarına ihtiyaç duymadan
node_modulesvedistklasörlerini otomatik açarak sistemi tamamen hazır hale getirecektir.
# 1. Projeyi klonlayın
git clone https://github.com/Emiran404/Atolye.Platform.git
cd Atolye.Platform
# 2. Bağımlılıkları yükleyin (frontend + backend)
npm run install:all
# 3. .env dosyasını yapılandırın
cp .env.example .env
# 4. Geliştirme modunda başlatın
npm run dev
# 5. Production build
npm run buildWindows kullanıcıları:
kurulum.shyerine doğrudannpm run install:allvenpm run devkomutlarını kullanın.
Uygulamayı bir sunucuda 7/24 kesintisiz (production) çalıştırmak için en kolay yöntem Docker kullanmaktır.
# 1. Projenin ana (Source Code) kaynak kodlarını indirin veya klonlayın
git clone https://github.com/Emiran404/Atolye.Platform.git
cd Atolye.Platform
# 2. Docker kullanarak sistemi izole ortamda ayağa kaldırın
docker-compose up -d --buildNote
Bu komut, gerekli Dockerfile yönergelerini takip ederek frontend ve backend'i derler, ve varsayılan olarak 80 ile 3001 portlarından yayına alır. Sistemin tamamen başlaması derleme sürecine bağlı olarak birkaç dakika sürebilir.
Atölye.Platform, okul laboratuvarlarını uçtan uca dijitalleştirmeyi amaçlayan PolyOS şemsiye projesinin bir parçasıdır ve aşağıdaki entegre bileşenlerle tam uyumlu bir ekosistem sunar:
- PolyOS Labs: Bilgisayar laboratuvarındaki istemci makinelerin açılış, kapanış, masaüstü yönetimi ve genel durum izlemesini sağlayan yönetim katmanı.
- OGA (Öğrenci Gönderme Aracısı): Öğretmen bilgisayarından öğrenci bilgisayarlarına hızlı dosya aktarımı, komut çalıştırma ve ekran izleme sağlayan hafif veri köprüsü.
- LiderAhenk SSO: Pardus ekosisteminin merkezi yönetim sistemi olan LiderAhenk LDAP dizini ile entegre çalışarak okul personelinin ve öğrencilerin mevcut kurumsal şifreleriyle tek tıkla sisteme dahil olmasını (Single Sign-On) sağlar.
Atölye.Platform/
├── 📂 src/ # React Frontend (Vite)
│ ├── components/ # Yeniden kullanılabilir UI bileşenleri
│ ├── pages/
│ │ ├── teacher/ # 20+ öğretmen modülü
│ │ ├── student/ # Öğrenci portalı
│ │ └── auth/ # Kimlik doğrulama sayfaları
│ ├── store/ # Zustand state yönetimi
│ ├── services/ # API istemci katmanı
│ └── utils/ # i18n, tarih ve yardımcı fonksiyonlar
├── 📂 server/ # Node.js / Express Backend
│ ├── routes/ # REST API endpoint'leri
│ ├── middleware/ # Auth, rate-limit, CORS
│ ├── data/ # SQLite Veritabanı ve JSON dosyaları
│ └── utils/ # LDAP, dosya işlemleri
├── 📂 client-electron/ # Electron masaüstü istemcisi
├── 📂 scripts/ # .deb paketleme scriptleri
├── 📂 deploy/ # Systemd servis yapılandırmaları
└── 📂 screenshots/ # Ekran görüntüleri
| Katman | Teknoloji | Versiyon |
|---|---|---|
| Frontend | React + Vite + Zustand | 19.x / 5.x / 5.x |
| Arayüz | Tailwind CSS + Vanilla CSS | 4.x |
| İkonlar | Lucide React | 0.5x |
| Backend | Node.js + Express.js | 18+ / 4.x |
| Gerçek Zamanlı | Socket.io | 4.x |
| Masaüstü | Electron + Electron-Builder | 30.x |
| Güncelleme | Electron Updater + GitHub Actions | 6.x |
| Keşif | Bonjour (mDNS) | 1.x |
| Auth | JSON Web Token + WebAuthn | — |
| Veri | Yerleşik SQLite (node:sqlite) / JSON Fallback |
— |
| Grafikler | Recharts | 3.x |
Okul laboratuvarlarında kısıtlı internet bant genişliğini korumak için tasarlanmış yerel ağ öncelikli otomatik güncelleme sistemi:
- Öğretmen Sunucusu (Ana Makine): GitHub Actions üzerinden yeni bir sürüm yayınlandığında bunu otomatik tespit eder. Kurulum dosyalarını (.exe ve .deb) dış internetten sadece 1 kez indirerek yerel ağa sunar.
- Öğrenci Cihazları (İstemciler): İnternete çıkmak yerine doğrudan öğretmen sunucusu ile iletişime geçer. Yeni sürümü tespit ettiği an Gigabit LAN hızında (saniyede 100+ MB) kurulum dosyasını çeker, arka planda kendini günceller ve yeniden başlatır. Böylece 40 bilgisayarlı bir laboratuvarın interneti çökertmesi tamamen engellenir.
-
Dinamik sınıf yönetimi (API-driven) -
Passkey / WebAuthn desteği -
4 dilli arayüz (TR/EN/DE/RU) -
mDNS otomatik sunucu keşfi -
Windows (.exe) ve Linux (.deb) paketleri -
Akıllı 2-Aşamalı Otomatik Güncelleme Sistemi (Electron Updater) -
Cinematic UI ve Glassmorphism tasarım -
Çoklu öğretmen desteği ve rol yönetimi -
Otomatik sınav değerlendirme (OGA modülü) -
Docker konteyner desteği -
LiderAhenk tam entegrasyon (LDAP kullanıcı senkronizasyonu) - Progressive Web App (PWA) desteği
Platform kod kalitesini artırmak için Vitest ve Playwright ile kapsamlı testlere sahiptir:
# Tüm birim testlerini (Unit Tests) çalıştır
npm run test:unit
# Sunucu (API) testlerini çalıştır
npm run test:api
# Uçtan uca (E2E) tarayıcı testlerini çalıştır
npm run test:e2eSistem sıfırlama gerektiğinde:
| Platform | Komut |
|---|---|
| Linux / Pardus | ./cleanup_linux.sh |
| Windows | cleanup_windows.bat |
Bu araçlar kilitli süreçleri otomatik sonlandırır ve sistemi fabrika ayarlarına döndürür.
Katkılarınızı bekliyoruz! Detaylı bilgi için CONTRIBUTING.md dosyasına göz atın.
- 🍴 Projeyi Fork edin
- 🌿 Feature branch oluşturun (
git checkout -b feature/yeni-ozellik) - 💾 Commit yapın (
git commit -m "feat: yeni özellik eklendi") - 🚀 Push edin (
git push origin feature/yeni-ozellik) - 📬 Pull Request açın
Bu proje MIT lisansı altında lisanslanmıştır. Eğitim amaçlı özgürce kullanılabilir.
Alanya Mesleki ve Teknik Anadolu Lisesi
Geliştiren: Emirhan Gök • PolyOS Ekosistemi
Coded with ❤️ for the future of education.








