{"id":49795314,"url":"https://github.com/emiran404/atolye.platform","last_synced_at":"2026-05-12T09:02:16.259Z","repository":{"id":344282584,"uuid":"1181185593","full_name":"Emiran404/Atolye.Platform","owner":"Emiran404","description":"Atölye.Platform, PolyOS tarafından geliştirilen açık kaynaklı bir sınav gönderme ve eğitim yönetim platformudur. Pardus okul laboratuvarları için optimize edilmiştir.","archived":false,"fork":false,"pushed_at":"2026-04-09T18:29:38.000Z","size":77479,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-09T19:37:00.116Z","etag":null,"topics":["education","exam-system","linux","management-system","multilingual","nodejs","ogrenci-merkezli-egitim","open-source","open-source-project","pardus","react","sinav-sistemi","student-management-system","student-platform"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Emiran404.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"emiran404","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2026-03-13T20:58:26.000Z","updated_at":"2026-04-09T18:28:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Emiran404/Atolye.Platform","commit_stats":null,"previous_names":["emiran404/atoyle.platfrom","emiran404/atolye.platform"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/Emiran404/Atolye.Platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emiran404%2FAtolye.Platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emiran404%2FAtolye.Platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emiran404%2FAtolye.Platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emiran404%2FAtolye.Platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Emiran404","download_url":"https://codeload.github.com/Emiran404/Atolye.Platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emiran404%2FAtolye.Platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32931321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"online","status_checked_at":"2026-05-12T02:00:06.338Z","response_time":102,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["education","exam-system","linux","management-system","multilingual","nodejs","ogrenci-merkezli-egitim","open-source","open-source-project","pardus","react","sinav-sistemi","student-management-system","student-platform"],"created_at":"2026-05-12T09:02:10.246Z","updated_at":"2026-05-12T09:02:16.241Z","avatar_url":"https://github.com/Emiran404.png","language":"JavaScript","funding_links":["https://ko-fi.com/emiran404"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003c!-- HEADER BANNER --\u003e\n![Atolye.Platform Banner](https://banner-api-and-website-production-6dcd.up.railway.app/banner?header=%21%5Bnodedotjs%5D+At%C3%B6lye.Platform\u0026subheader=%21%5Bvite%5DA%C3%A7%C4%B1k+kaynakl%C4%B1+bir+s%C4%B1nav+g%C3%B6nderme+ve+e%C4%9Fitim+y%C3%B6netim+platformu\u0026bg=00000000\u0026color=FFFFFF\u0026subheadercolor=FFFFFF\u0026headerfont=Roboto\u0026subheaderfont=Open+Sans\u0026support=false)\n# 🎓 Atölye.Platform\n\n### Eğitim kurumları için modern, güvenli ve dinamik sınav yönetim ekosistemi.\n\n\u003cbr/\u003e\n\n\u003c!-- CORE BADGES --\u003e\n[![Version](https://img.shields.io/badge/Versiyon-3.7.0-6366f1?style=for-the-badge)](https://github.com/Emiran404/Atolye.Platform/releases)\n[![License](https://img.shields.io/badge/Lisans-MIT-10b981?style=for-the-badge)](LICENSE)\n[![Platform](https://img.shields.io/badge/Platform-Pardus_%7C_Windows-ef4444?style=for-the-badge)](https://github.com/Emiran404/Atolye.Platform)\n\n\u003c!-- TECH STACK BADGES --\u003e\n[![React](https://img.shields.io/badge/React_19-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)](https://react.dev/)\n[![Vite](https://img.shields.io/badge/Vite_5-646CFF?style=for-the-badge\u0026logo=vite\u0026logoColor=white)](https://vitejs.dev/)\n[![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white)](https://nodejs.org/)\n[![Express](https://img.shields.io/badge/Express.js-000000?style=for-the-badge\u0026logo=express\u0026logoColor=white)](https://expressjs.com/)\n[![Electron](https://img.shields.io/badge/Electron-47848F?style=for-the-badge\u0026logo=electron\u0026logoColor=white)](https://www.electronjs.org/)\n[![Socket.io](https://img.shields.io/badge/Socket.io-010101?style=for-the-badge\u0026logo=socketdotio\u0026logoColor=white)](https://socket.io/)\n[![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)](https://tailwindcss.com/)\n[![Zustand](https://img.shields.io/badge/Zustand-443E38?style=for-the-badge\u0026logo=react\u0026logoColor=white)](https://zustand-demo.pmnd.rs/)\n\n\u003c!-- FEATURE BADGES --\u003e\n[![WebAuthn](https://img.shields.io/badge/🔐_Passkey-WebAuthn-yellow?style=for-the-badge)](https://webauthn.io/)\n[![LDAP](https://img.shields.io/badge/📂_LDAP-LiderAhenk-blue?style=for-the-badge)](https://liderahenk.org/)\n[![I18n](https://img.shields.io/badge/🌍_Dil-TR_|_EN_|_DE_|_RU-red?style=for-the-badge)](src/utils/i18n.js)\n[![mDNS](https://img.shields.io/badge/📡_mDNS-Auto_Discovery-purple?style=for-the-badge)](https://www.npmjs.com/package/bonjour-service)\n\n\u003cbr/\u003e\n\n\u003c!-- REPO STATS --\u003e\n![Stars](https://img.shields.io/github/stars/Emiran404/Atolye.Platform?style=flat-square\u0026color=ffd700) ![Forks](https://img.shields.io/github/forks/Emiran404/Atolye.Platform?style=flat-square\u0026color=60a5fa) ![Issues](https://img.shields.io/github/issues/Emiran404/Atolye.Platform?style=flat-square\u0026color=f87171) ![Pull Requests](https://img.shields.io/github/issues-pr/Emiran404/Atolye.Platform?style=flat-square\u0026color=34d399) ![Repo Size](https://img.shields.io/github/repo-size/Emiran404/Atolye.Platform?style=flat-square\u0026color=818cf8) ![Last Commit](https://img.shields.io/github/last-commit/Emiran404/Atolye.Platform?style=flat-square\u0026color=a78bfa)\n\n\u003cbr/\u003e\n\n[Özellikler](#-temel-özellikler) • [Ekran Görüntüleri](#-ekran-görüntüleri) • [Kurulum](#-kurulum) • [Mimari](#-sistem-mimarisi) • [Yol Haritası](#-yol-haritası)\n\n---\n\n\u003c/div\u003e\n\n## 🌟 Nedir?\n\n**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.\n\n\u003e [!NOTE]\n\u003e **Atölye.Platform** bir [PolyOS](https://github.com/Emiran404) ürünüdür — *Pardus Okul Laboratuvar Yönetim ve Ödev Sistemi.*\n\n---\n\n## 📥 Hazır Paketler\n\nDerleme yapmadan, aşağıdaki hazır paketlerle saniyeler içinde kurulum yapın:\n\n\u003cdiv align=\"center\"\u003e\n\n| | Paket | İşletim Sistemi | İndir |\n| :---: | :--- | :--- | :---: |\n| 🖥️ | **Öğretmen Sunucusu** | Pardus / Debian | [📥 `.deb` Sunucu](https://github.com/Emiran404/Atolye.Platform/releases/latest) |\n| 🪟 | **Masaüstü İstemci** | Windows 10/11 | [📥 `.exe` Kurulum](https://github.com/Emiran404/Atolye.Platform/releases/latest) |\n| 🐧 | **Masaüstü İstemci** | Linux / Pardus | [📥 `.deb` İstemci](https://github.com/Emiran404/Atolye.Platform/releases/latest) |\n\n\u003c/div\u003e\n\n\u003e [!TIP]\n\u003e **Pardus kullanıcıları:** `.deb` paketlerini çift tıklayarak veya `sudo dpkg -i paket.deb` komutuyla yükleyebilirsiniz.\n\n---\n\n## ✨ Temel Özellikler\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 👨‍🏫 Öğretmen Paneli\n- 📊 **Canlı Dashboard** — İstatistik kartları ve anlık aktivite akışı\n- 📝 **Sınav Oluşturma** — Esnek süre, sınıf hedefleme ve çoklu format desteği\n- 🔍 **Akıllı Değerlendirme** — Split-view dosya inceleme ve anlık notlandırma\n- 📈 **İstatistik \u0026 Raporlama** — Sınıf bazlı başarı analizi ve PDF rapor\n- 🗂️ **Dinamik Arşiv** — Geçmiş sınavları filtreleme ve toplu dışa aktarma\n- 📅 **Sınav Takvimi** — Haftalık/aylık planlama görünümü\n- 🏫 **Sınıf Yönetimi** — Dinamik sınıf ekleme/silme (API-driven)\n- 👥 **Öğrenci Listesi** — Kayıt durumu takibi ve toplu yönetim\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 👨‍🎓 Öğrenci Paneli\n- 🎯 **Odaklanmış Arayüz** — Sadece aktif sınavlara odaklanan sade tasarım\n- 📤 **Sürükle-Bırak Yükleme** — Gelişmiş dosya yükleme ile hızlı teslim\n- 📋 **Sınav Geçmişi** — Geçmiş notlar ve geri bildirimleri görüntüleme\n- 🔔 **Anlık Bildirimler** — Socket.io ile gerçek zamanlı uyarılar\n- 🔐 **Passkey Girişi** — Şifresiz, biyometrik kimlik doğrulama\n- 🌍 **4 Dil Desteği** — Türkçe, İngilizce, Almanca ve Rusça\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### 🛡️ Güvenlik \u0026 Entegrasyon\n\n| Özellik | Açıklama |\n| :--- | :--- |\n| **🔐 WebAuthn / Passkey** | Windows Hello ve Pardus biyometrik sistemleriyle şifresiz giriş |\n| **📂 LiderAhenk / LDAP** | Kurumsal kullanıcı dizinleriyle otomatik senkronizasyon *(Beta)* |\n| **📡 mDNS Auto-Discovery** | İstemciler sunucuyu ağda otomatik keşfeder — IP girmeye gerek yok |\n| **🛡️ Kod Karıştırma** | Production build'de JavaScript Obfuscation ile kaynak kodu koruması |\n| **🔒 JWT Authentication** | Her API çağrısında token bazlı yetkilendirme |\n| **⏱️ Rate Limiting** | Brute-force ve DDoS koruması |\n| **📑 Güvenli PDF/Resim** | Kimlik doğrulamalı ve korumalı dosya izleyici (v3.7.0) |\n\n---\n\n## 📸 Ekran Görüntüleri\n\n\u003cdiv align=\"center\"\u003e\n\n### Öğretmen Paneli\n\n| Dashboard | Sınav Oluşturma |\n| :---: | :---: |\n| ![Dashboard](screenshots/Teacher/Dashboard.png) | ![CreateExam](screenshots/Teacher/CreateExam.png) |\n| *Canlı istatistikler ve sistem takibi* | *Esnek sınav hazırlama ekranı* |\n\n| Değerlendirme | Kullanıcı Yönetimi |\n| :---: | :---: |\n| ![Evaluation](screenshots/Teacher/Evaluation.png) | ![UserManagement](screenshots/Teacher/UserManagement.png) |\n| *Split-view notlandırma ve geri bildirim* | *Öğrenci ve öğretmen hesap yönetimi* |\n\n| Güvenlik Ayarları | |\n| :---: | :---: |\n| ![Settings](screenshots/Teacher/Settings.png) | |\n| *Passkey, güvenlik ve platform ayarları* | |\n\n| Öğrenci Dashboard | Sınav Ekranı | Soru Görüntüleyici |\n| :---: | :---: | :---: |\n| ![StudentDashboard](screenshots/Student/Dashboard.png) | ![StudentExam](screenshots/Student/Exam.png) | ![FileViewer](screenshots/Global/FileViewerModal.png) |\n| *Sade ve odaklanmış öğrenci portalı* | *Dosya yükleme ve sınav teslim arayüzü* | *Güvenli ve şık dosya izleme modalı* |\n\n### Ana Sayfa\n\n![LandingPage](screenshots/Atolye.Platform-Anasayfa.png)\n*Cinematic tasarımlı ana sayfa*\n\n\u003c/div\u003e\n\n---\n\n## 🚀 Kurulum\n\n### Sistem Gereksinimleri\n\n| Gereksinim | Minimum |\n| :--- | :--- |\n| **Node.js** | v18.0.0+ |\n| **npm** | v9.0.0+ |\n| **İşletim Sistemi** | Pardus 21+ / Debian 11+ / Windows 10+ |\n| **RAM** | 2 GB (Sunucu) |\n| **Disk** | 500 MB boş alan |\n\n### Hızlı Başlangıç (Linux / Pardus)\n\n```bash\n# 1. Projeyi klonlayın\ngit clone https://github.com/Emiran404/Atolye.Platform.git\ncd Atolye.Platform\n\n# 2. Otomatik kurulum sihirbazını çalıştırın\nchmod +x kurulum.sh\n./kurulum.sh\n\n# 3. Platformu başlatın\nchmod +x baslat.sh\n./baslat.sh\n```\n\n### Manuel Kurulum\n\n```bash\n# 1. Projeyi klonlayın\ngit clone https://github.com/Emiran404/Atolye.Platform.git\ncd Atolye.Platform\n\n# 2. Bağımlılıkları yükleyin (frontend + backend)\nnpm run install:all\n\n# 3. .env dosyasını yapılandırın\ncp .env.example .env\n\n# 4. Geliştirme modunda başlatın\nnpm run dev\n\n# 5. Production build\nnpm run build\n```\n\n\u003e [!WARNING]\n\u003e **Windows kullanıcıları:** `kurulum.sh` yerine doğrudan `npm run install:all` ve `npm run dev` komutlarını kullanın.\n\n---\n\n## 🏗️ Sistem Mimarisi\n\n```\nAtölye.Platform/\n├── 📂 src/                    # React Frontend (Vite)\n│   ├── components/            # Yeniden kullanılabilir UI bileşenleri\n│   ├── pages/\n│   │   ├── teacher/           # 20+ öğretmen modülü\n│   │   ├── student/           # Öğrenci portalı\n│   │   └── auth/              # Kimlik doğrulama sayfaları\n│   ├── store/                 # Zustand state yönetimi\n│   ├── services/              # API istemci katmanı\n│   └── utils/                 # i18n, tarih ve yardımcı fonksiyonlar\n├── 📂 server/                 # Node.js / Express Backend\n│   ├── routes/                # REST API endpoint'leri\n│   ├── middleware/             # Auth, rate-limit, CORS\n│   ├── data/                  # JSON veri dosyaları (DB gerektirmez)\n│   └── utils/                 # LDAP, dosya işlemleri\n├── 📂 client-electron/        # Electron masaüstü istemcisi\n├── 📂 scripts/                # .deb paketleme scriptleri\n├── 📂 deploy/                 # Systemd servis yapılandırmaları\n└── 📂 screenshots/            # Ekran görüntüleri\n```\n\n### Teknoloji Yığını\n\n\u003cdiv align=\"center\"\u003e\n\n| Katman | Teknoloji | Versiyon |\n| :--- | :--- | :--- |\n| **Frontend** | React + Vite + Zustand | 19.x / 5.x / 5.x |\n| **Arayüz** | Tailwind CSS + Vanilla CSS | 4.x |\n| **İkonlar** | Lucide React | 0.5x |\n| **Backend** | Node.js + Express.js | 18+ / 4.x |\n| **Gerçek Zamanlı** | Socket.io | 4.x |\n| **Masaüstü** | Electron + Electron-Builder | 30.x |\n| **Keşif** | Bonjour (mDNS) | 1.x |\n| **Auth** | JSON Web Token + WebAuthn | — |\n| **Veri** | JSON tabanlı (DB gerektirmez) | — |\n| **Grafikler** | Recharts | 3.x |\n\n\u003c/div\u003e\n\n---\n\n## 🗺️ Yol Haritası\n\n- [x] ~~Dinamik sınıf yönetimi (API-driven)~~\n- [x] ~~Passkey / WebAuthn desteği~~\n- [x] ~~4 dilli arayüz (TR/EN/DE/RU)~~\n- [x] ~~mDNS otomatik sunucu keşfi~~\n- [x] ~~Windows (.exe) ve Linux (.deb) paketleri~~\n- [x] ~~Cinematic UI ve Glassmorphism tasarım~~\n- [x] ~~Çoklu öğretmen desteği ve rol yönetimi~~\n- [ ] LiderAhenk tam entegrasyon (LDAP kullanıcı senkronizasyonu)\n- [ ] Otomatik sınav değerlendirme (OGA modülü)\n- [ ] Docker konteyner desteği\n- [ ] Progressive Web App (PWA) desteği\n\n---\n\n## 🧹 Bakım\n\nSistem sıfırlama gerektiğinde:\n\n| Platform | Komut |\n| :--- | :--- |\n| **Linux / Pardus** | `./cleanup_linux.sh` |\n| **Windows** | `cleanup_windows.bat` |\n\n\u003e Bu araçlar kilitli süreçleri otomatik sonlandırır ve sistemi fabrika ayarlarına döndürür.\n\n---\n\n## 🤝 Katkıda Bulunma\n\nKatkılarınızı bekliyoruz! Detaylı bilgi için [CONTRIBUTING.md](CONTRIBUTING.md) dosyasına göz atın.\n\n1. 🍴 Projeyi **Fork** edin\n2. 🌿 Feature branch oluşturun (`git checkout -b feature/yeni-ozellik`)\n3. 💾 Commit yapın (`git commit -m \"feat: yeni özellik eklendi\"`)\n4. 🚀 Push edin (`git push origin feature/yeni-ozellik`)\n5. 📬 **Pull Request** açın\n\n---\n\n## 📄 Lisans\n\nBu proje [MIT](LICENSE) lisansı altında lisanslanmıştır. Eğitim amaçlı özgürce kullanılabilir.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### 💙 Atölye.Platform\n\n**Alanya Mesleki ve Teknik Anadolu Lisesi**\n\nGeliştiren: [Emirhan Gök](https://github.com/Emiran404) • PolyOS Ekosistemi\n\n\u003cbr/\u003e\n\n*Coded with ❤️ for the future of education.*\n\n\u003cbr/\u003e\n\n[⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!](https://github.com/Emiran404/Atolye.Platform)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femiran404%2Fatolye.platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femiran404%2Fatolye.platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femiran404%2Fatolye.platform/lists"}