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.
- Öğ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
SlideShareEdu üç ana bileşenden oluşmaktadır:
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
Öğ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
Öğ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
# 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 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 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
- 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
- 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
- Node.js & Express: API sunucusu
- MongoDB: Veritabanı
- JWT: Kimlik doğrulama
- bcrypt: Şifre hashleme
- Multer: Dosya yükleme
- React.js: Kullanıcı arayüzü
- React Router: Sayfa yönlendirmeleri
- Axios: API istekleri
- CSS3: Stil ve düzen
- 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
- Admin: Sunumları yönetir ve öğrenci hesaplarını oluşturur
- Öğrenci: Sunumları görüntüler ve kullanım verileri toplanır
- Başlık, açıklama, dosya yolu, yüklenme tarihi gibi bilgiler
- Slayt sayısı ve diğer meta veriler
- Hangi öğrenci, hangi sunumu, ne kadar süre görüntüledi
- Tamamlama yüzdesi ve görüntülenen slayt sayısı
SlideShareEdu açık kaynaklı bir projedir ve katkılarınıza açıktır. Katkıda bulunmak için:
- Projeyi forklayın
- Yeni bir branch oluşturun (
git checkout -b ozellik/yeni-ozellik
) - Değişikliklerinizi commit edin (
git commit -m 'Yeni özellik: Açıklama'
) - Branch'inizi push edin (
git push origin ozellik/yeni-ozellik
) - Pull Request açın
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için lisans dosyasını inceleyebilirsiniz.
Sorularınız veya önerileriniz için lütfen GitHub üzerinden issue açın veya pull request gönderin.