Bu proje; web, masaüstü (Windows/macOS) ve mobil (Android) platformlarinda calisan kapsamli bir Ogrenim Yonetim Sistemidir (LMS).
- Coklu Platform: Web (PWA), Masaustu (Windows/macOS) ve Mobil (Android) destegi.
- Rol Tabanli Erisim: Ogrenci ve Ogretmen panelleri.
- Gelismis Sinav Sistemi:
- Rastgele soru havuzu.
- Otomatik puanlama.
- Webcam Kaydi: Sinav guvenligi icin video kaydi.
- Sekme Ihlali Takibi: Ogrenci sinavdayken baska sekmeye gecerse sayac isler.
- Tam Ekran Zorunlulugu: Sinav modunda tam ekran kilitlenmesi.
- Indirme Yoneticisi: Masaustu uygulamasinda dosya indirme takibi.
- System Tray: Arka planda calisabilme.
- Offline Onbellek: PWA altyapisi ile cevrimdisi icerik goruntuleme.
- Frontend: Next.js 14, React, TailwindCSS
- Backend: Next.js API Routes
- Veritabani: PostgreSQL, Prisma ORM
- Desktop Wrapper: Electron
- Mobile Native: Flutter (Dart)
Proje dosyalarini indirdikten sonra bagimliliklari yukleyin:
npm installDocker kullanarak veritabanini baslatin:
docker-compose up -d dbPrisma semasini veritabanina uygulayin:
npx prisma db push
npx prisma generate.env dosyasini olusturun:
DATABASE_URL="postgresql://user:password@localhost:5432/lms?schema=public"
NEXTAUTH_SECRET="gizli-anahtar"
NEXTAUTH_URL="http://localhost:3003"npm run devTarayicida http://localhost:3003 adresine gidin.
Uygulamayi masaustunde gelistirmek icin:
npm run electron:devWindows icin .exe paketi olusturmak icin:
npm run electron:buildCikti dosyasi dist-electron/ klasorunde olusacaktir.
Flutter projesini calistirmak icin:
- Flutter yuklu bir bilgisayarda
flutter_app/klasorunu acin. - Bagimliliklari yukleyin:
cd flutter_app flutter pub get - Uygulamayi baslatin:
flutter run
Not: Mobil uygulama yerel sunucuya baglanir. flutter_app/lib/services/api_service.dart dosyasindaki baseUrl kismini kendi bilgisayarinizin IP adresi ile guncellemeyi unutmayin.
├── app/ # Next.js App Router sayfalari
├── components/ # React bilesenleri
├── electron/ # Electron ana process dosyalari
├── flutter_app/ # Flutter Mobil Uygulama (Native)
├── prisma/ # Veritabani semasi
├── public/ # Statik dosyalar
├── services/ # API servis katmani
└── package.json # Proje bagimliliklari ve scriptler
MIT License