Skip to content

Öğretmenlerin PowerPoint sunumlarını öğrencilerle kolayca paylaşabilmesini sağlayan, web paneli ve mobil uygulamadan oluşan açık kaynaklı bir eğitim platformu.

License

Notifications You must be signed in to change notification settings

emrebaranarca/SlideShareEdu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 SlideShareEdu - Eğitimde Teknoloji, Öğretmende Kolaylık

en

SlideShareEdu, öğretmenlerin öğrencileriyle PowerPoint sunumlarını kolay ve etkin bir şekilde paylaşabilmeleri için geliştirilmiş açık kaynaklı bir eğitim platformudur. Bu platform, öğretmenlere sunumlarını yönetebilecekleri bir web paneli ve öğrencilere bu sunumlara erişebilecekleri bir mobil uygulama sunmaktadır.


🎯 Amaç ve Hedefler

  • Öğretmenlere sunumlarını merkezi bir sistemde yönetme imkanı sağlamak
  • Öğrencilere zaman ve mekan kısıtlaması olmadan ders materyallerine erişim sunmak
  • Öğrenci katılımını ve çalışma alışkanlıklarını takip etmek
  • Açık kaynak kodlu ve özgürce kullanılabilir bir eğitim aracı sunmak

🏗️ Proje Mimarisi

SlideShareEdu üç ana bileşenden oluşmaktadır:

1. Backend Sunucu (Express.js & MongoDB)

Backend, tüm sistemin omurgasını oluşturur ve aşağıdaki görevleri yerine getirir:

  • Kullanıcı kimlik doğrulama ve yetkilendirme
  • Sunum dosyalarını depolama ve yönetme
  • Kullanım istatistiklerini toplama ve raporlama
  • Admin paneli ve mobil uygulama için API sunma

2. Web Yönetim Paneli (React.js)

Öğretmenler ve yöneticiler için geliştirilmiş web arayüzü:

  • PowerPoint sunumlarını yükleme ve yönetme
  • Öğrenci hesaplarını oluşturma ve yönetme
  • Kullanım istatistiklerini ve raporları görüntüleme
  • Sistem ayarlarını yapılandırma

3. Mobil Uygulama (React Native)

Öğrenciler için geliştirilmiş kullanıcı dostu mobil uygulama:

  • Öğrenci hesabı ile giriş yapma
  • Sunumları görüntüleme ve indirme
  • Slaytlar arasında ileri-geri gezinme
  • Kişisel kullanım istatistiklerini görüntüleme

🚀 Kurulum

Backend Kurulumu

# Projeyi klonlayın
git clone https://github.com/kullaniciadi/SlideShareEdu.git
cd SlideShareEdu/backend

# Bağımlılıkları yükleyin
npm install

# .env dosyasını oluşturun (örnek dosyadan)
cp .env.example .env

# .env dosyasını düzenleyin ve gerekli değişkenleri ayarlayın
# MongoDB bağlantı bilgileri, JWT anahtarı vb.

# Sunucuyu başlatın
npm start

Web Panel Kurulumu

# Web panel dizinine geçin
cd ../admin-panel

# Bağımlılıkları yükleyin
npm install

# .env dosyasını oluşturun ve API URL'ini ayarlayın
echo "REACT_APP_API_URL=http://localhost:3000/api" > .env

# Geliştirme sunucusunu başlatın
npm start

# Veya üretim için build alın
npm run build

Mobil Uygulama Kurulumu

# Mobil uygulama dizinine geçin
cd ../mobile-app

# Bağımlılıkları yükleyin
npm install

# API URL'ini ayarlayın (mobile-app/constants/config.js dosyasını düzenleyin)

# Uygulamayı başlatın
npx expo start

📱 Mobil Uygulama Özellikleri

  • Kimlik Doğrulama: Güvenli öğrenci girişi
  • Sunum Listeleme: Öğrenciye atanmış tüm sunumları görüntüleme
  • Sunum Görüntüleme: PowerPoint dosyalarını doğrudan uygulama içinde açma
  • Slayt Gezinme: Dokunmatik kontroller ile slaytlar arası gezinme
  • Çevrimdışı Erişim: Sunumları indirme ve internet bağlantısı olmadan erişim
  • Kullanım İstatistikleri: Görüntülenen slayt sayısı, geçirilen süre gibi verileri otomatik olarak toplama

💻 Web Panel Özellikleri

  • Dashboard: Genel kullanım istatistikleri ve sistem durumu
  • Sunum Yönetimi: PowerPoint dosyalarını yükleme, düzenleme ve silme
  • Öğrenci Yönetimi: Öğrenci hesaplarını oluşturma, düzenleme ve silme
  • İstatistikler: Detaylı kullanım raporları ve grafikler
  • Ayarlar: Sistem yapılandırması ve tercihler

🔧 Teknik Detaylar

Backend Teknolojileri

  • Node.js & Express: API sunucusu
  • MongoDB: Veritabanı
  • JWT: Kimlik doğrulama
  • bcrypt: Şifre hashleme
  • Multer: Dosya yükleme

Web Panel Teknolojileri

  • React.js: Kullanıcı arayüzü
  • React Router: Sayfa yönlendirmeleri
  • Axios: API istekleri
  • CSS3: Stil ve düzen

Mobil Uygulama Teknolojileri

  • React Native: Çapraz platform mobil geliştirme
  • Expo: Geliştirme ve dağıtım araçları
  • React Navigation: Ekran yönlendirmeleri
  • Async Storage: Yerel depolama
  • FileSystem: Dosya işlemleri

📊 Veri Yapısı

Kullanıcılar (Users)

  • Admin: Sunumları yönetir ve öğrenci hesaplarını oluşturur
  • Öğrenci: Sunumları görüntüler ve kullanım verileri toplanır

Sunumlar (Presentations)

  • Başlık, açıklama, dosya yolu, yüklenme tarihi gibi bilgiler
  • Slayt sayısı ve diğer meta veriler

Kullanım İstatistikleri (UsageStats)

  • Hangi öğrenci, hangi sunumu, ne kadar süre görüntüledi
  • Tamamlama yüzdesi ve görüntülenen slayt sayısı

🚀 Katkıda Bulunma

SlideShareEdu açık kaynaklı bir projedir ve katkılarınıza açıktır. Katkıda bulunmak için:

  1. Projeyi forklayın
  2. Yeni bir branch oluşturun (git checkout -b ozellik/yeni-ozellik)
  3. Değişikliklerinizi commit edin (git commit -m 'Yeni özellik: Açıklama')
  4. Branch'inizi push edin (git push origin ozellik/yeni-ozellik)
  5. Pull Request açın

📝 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için lisans dosyasını inceleyebilirsiniz.

📷 Ekran Görüntüleri

Web Yönetim Paneli

Dashboard

Mobil Uygulama Ekranları

Giriş Ekranı Ana Ekran Sunum Sunum Detayı

📞 İletişim

Sorularınız veya önerileriniz için lütfen GitHub üzerinden issue açın veya pull request gönderin.

About

Öğretmenlerin PowerPoint sunumlarını öğrencilerle kolayca paylaşabilmesini sağlayan, web paneli ve mobil uygulamadan oluşan açık kaynaklı bir eğitim platformu.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages