Platform pembelajaran online yang dirancang untuk memberikan pengalaman belajar terbaik dengan manajemen konten yang komprehensif
Halaman landing dengan hero section yang menarik dan statistik platform
Dashboard admin dengan statistik komprehensif dan manajemen platform
Katalog kursus dengan filter dan pencarian yang mudah
Tampilan pelajaran dengan pelacakan progress dan navigasi yang intuitif
Manajemen pengguna dengan layout card yang modern
Dashboard teacher dengan daftar kursus yang dibuat dan statistik siswa
Dashboard student dengan kursus yang diikuti, progress tracking, dan akses sertifikat
- π― Tentang Proyek
- β¨ Fitur
- π Teknologi yang Digunakan
- π» Persyaratan Sistem
- π Instalasi
- βοΈ Konfigurasi
- π Struktur Proyek
- π Penggunaan
- π Dokumentasi
- π§ͺ Pengujian
- π€ Kontribusi
- π€ Kontak
EduTrack LMS adalah Learning Management System (LMS) yang komprehensif yang dirancang untuk memfasilitasi proses pembelajaran online antara guru dan siswa. Platform ini menyediakan workflow CMS terintegrasi dengan antarmuka yang modern, responsif, dan mudah digunakan.
- π Menyediakan proses pembelajaran terpandu yang lengkap dengan manajemen konten
- π₯ Memfasilitasi interaksi antara guru dan siswa
- π Menyediakan pelacakan progress pembelajaran yang akurat
- π¨ Memberikan pengalaman pengguna yang modern dan intuitif
- β Integrated CMS Workflow - Sistem manajemen konten terintegrasi
- β Clean Design - Hierarki visual yang jelas dan mudah dipahami
- β Responsive & Accessible - Optimal di semua perangkat dengan aksesibilitas tinggi
- β Modular Architecture - Mudah untuk diuji, dikembangkan, dan dipelihara
- β Code Quality - Validasi Form Request, database transactions, dan error handling yang komprehensif
- π Sistem Multi-role - Admin, Teacher, Student, dan Guest
- π€ Manajemen Pengguna - CRUD lengkap untuk pengguna dengan filter dan pencarian
- π‘οΈ Role-based Access Control - Setiap role memiliki akses dan fitur yang berbeda
- βοΈ Manajemen Profil - Pengguna dapat mengelola profil mereka sendiri
- β Course CRUD - Membuat, mengedit, dan menghapus kursus dengan mudah
- π·οΈ Manajemen Kategori - Mengorganisir kursus berdasarkan kategori
- π Status Kursus - Aktif/Nonaktif untuk kontrol publikasi
- π Rentang Tanggal - Penjadwalan kursus dengan tanggal mulai dan akhir
- π¨βπ« Penugasan Guru - Menugaskan guru ke kursus tertentu
- π Manajemen Pelajaran - Membuat dan mengelola pelajaran per kursus
- π Organisasi Konten - Urutan pelajaran yang dapat dikonfigurasi
- βοΈ Rich Text Content - Konten pelajaran dengan format yang kaya
- π Pelacakan Progress - Melacak progress pembelajaran per siswa
- π¨βπΌ Dashboard Admin:
- π Statistik untuk total pengguna, kursus, kategori, dan pendaftaran
- π₯ Pengguna dan kursus terbaru
- π·οΈ Manajemen kategori terintegrasi
- π¨βπ« Dashboard Teacher:
- π Ringkasan kursus yang diajarkan
- π Statistik siswa dan pendaftaran
- π¨βπ Dashboard Student:
- π Kursus yang didaftarkan
- π Pelacakan progress per kursus
- β Pelajaran yang selesai/belum selesai
- π« Sistem Pendaftaran - Siswa dapat mendaftar ke kursus
- π Pelacakan Progress - Secara otomatis melacak progress pembelajaran
- β Tandai Selesai - Siswa dapat menandai pelajaran sebagai selesai
- π Navigasi Pelajaran - Navigasi yang mudah antar pelajaran
- π Katalog Kursus - Katalog kursus dengan filter dan pencarian
- π Penerbitan Sertifikat - Sertifikat otomatis diterbitkan saat kursus selesai (progress 100%)
- π Sertifikat PDF - Unduh sertifikat dalam format PDF
- π± Desain Responsif - Optimal di semua perangkat
- π΄ Layout Berbasis Card - Desain layout card yang modern
- π¨ Tailwind CSS - Styling framework CSS utility-first
- β¨ Animasi Halus - Transisi dan animasi yang halus
- βΏ Aksesibilitas - Aksesibilitas tinggi untuk semua pengguna
- πΌοΈ Gambar Dinamis - Variasi gambar otomatis untuk menghindari tampilan monoton
- β Form Request Validation - Validasi terstruktur dengan pesan error kustom
- πΎ Database Transactions - Operasi atomik untuk integritas data
- π‘οΈ Error Handling - Penanganan error yang komprehensif dengan logging detail
- π Code Quality - Kode bersih tanpa file dan komentar yang tidak terpakai
- π Eager Loading - Query yang dioptimalkan untuk menghindari masalah N+1
- Build Tool dan Development Server
- Generasi PDF untuk Sertifikat
git clone https://github.com/ShinZeleo/edutrack-lms.git
cd edutrack-lms# Install dependensi PHP
composer install
# Install dependensi Node.js
npm install# Salin file environment
cp .env.example .env
# Generate application key
php artisan key:generateEdit file .env dan sesuaikan konfigurasi database:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=edutrack_lms
DB_USERNAME=your_username
DB_PASSWORD=your_password# Jalankan migrasi
php artisan migrate
# Seed database dengan data dummy
php artisan db:seed# Development
npm run dev
# Production
npm run build# Development server
php artisan serve
# Atau dengan queue dan vite
composer run devπ Akses aplikasi di: http://localhost:8000
Setelah menjalankan seeder, Anda dapat login dengan:
π¨βπΌ Admin:
π¨βπ« Teacher:
π¨βπ Student:
Beberapa variabel penting di .env:
APP_NAME="EduTrack LMS"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
# Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=edutrack_lms
DB_USERNAME=root
DB_PASSWORD= database/ - Migrasi dan seeder database
resources/ - Views, CSS, dan assets
routes/ - Definisi route aplikasi
tests/ - Unit dan feature tests
edutrack-lms/
βββ app/
β βββ Http/
β β βββ Controllers/
β β β βββ Admin/
β β β β βββ UserController.php
β β β βββ Auth/
β β β β βββ 6 file
β β β βββ AdminController.php
β β β βββ CategoryController.php
β β β βββ CertificateController.php
β β β βββ Controller.php
β β β βββ CourseController.php
β β β βββ EnrollmentController.php
β β β βββ HomeController.php
β β β βββ LessonController.php
β β β βββ ProfileController.php
β β β βββ StudentController.php
β β β βββ TeacherController.php
β β βββ Requests/
β β β βββ Auth/
β β β β βββ LoginRequest.php
β β β βββ CategoryStoreRequest.php
β β β βββ CategoryUpdateRequest.php
β β β βββ CourseStoreRequest.php
β β β βββ CourseUpdateRequest.php
β β β βββ LessonStoreRequest.php
β β β βββ LessonUpdateRequest.php
β β β βββ ProfileUpdateRequest.php
β β β βββ UserStoreRequest.php
β β β βββ UserUpdateRequest.php
β β βββ Middleware/
β β βββ AdminMiddleware.php
β β βββ RoleMiddleware.php
β β βββ StudentMiddleware.php
β β βββ TeacherMiddleware.php
β βββ Models/
β βββ Category.php
β βββ Certificate.php
β βββ Course.php
β βββ Lesson.php
β βββ LessonProgress.php
β βββ User.php
βββ database/
β βββ migrations/
β β βββ 8 Files
β βββ seeders/
β βββ DemoSeeder.php
βββ resources/
β βββ views/
β β βββ admin/
β β βββ auth/
β β βββ categories/
β β βββ certificates/
β β βββ components/
β β βββ courses/
β β βββ lessons/
β β βββ layouts/
β β βββ users/
β β βββ profile/
β β βββ teacher/
β β βββ vendor/
β β βββ about.blade.php
β β βββ dashboard.blade.php
β β βββ home.blade.php
β βββ css/
βββ routes/
β βββ web.php
β βββ auth.php
βββ tests/
β βββ Feature/
βββ docs/
β βββ controllers.md
β βββ database.md
β βββ models.md
β βββ routes.md
β βββ tests.md
β βββ views.md
β βββ screenshots/
βββ .env.example
βββ composer.json
βββ package.json
βββ README.md
- Template konfigurasi environment
- π Login sebagai admin
- π Dashboard - Melihat statistik platform
- π₯ Manajemen Pengguna - Mengelola semua pengguna (Admin, Teacher, Student)
- π Manajemen Kursus - Membuat, mengedit, dan menghapus kursus
- π·οΈ Manajemen Kategori - Mengelola kategori kursus
- π Login sebagai teacher
- π Dashboard - Melihat kursus yang diajarkan
- β Buat Kursus - Membuat kursus baru
- π Kelola Pelajaran - Menambah dan mengelola pelajaran dalam kursus
- π₯ Lihat Siswa - Melihat siswa yang terdaftar di kursus
- π Daftar/Login sebagai student
- π Jelajahi Kursus - Menjelajahi katalog kursus
- π« Daftar - Mendaftar ke kursus yang diinginkan
- π Belajar - Mengakses pelajaran dan materi pembelajaran
- π Lacak Progress - Melihat progress pembelajaran
- π Unduh Sertifikat - Mengunduh sertifikat setelah menyelesaikan kursus (progress 100%)
Dokumentasi lengkap tersedia di folder docs/ untuk membantu memahami struktur dan implementasi aplikasi:
- docs/controllers.md Ikhtisar setiap controller beserta alur request β controller β response, middleware yang digunakan, penggunaan Form Request, transaksi database, dan error handling pattern.
- docs/models.md Diagram relasi antar model, penjelasan setiap relationship (hasMany, belongsTo, belongsToMany), scopes, accessor/mutator, serta contoh query yang optimal.
- docs/views.md Struktur folder Blade, penjelasan layout & component, contoh Blade directive, cara menampilkan error/flash message, serta guideline Tailwind untuk styling.
- docs/routes.md Daftar lengkap routes (public, auth, admin, teacher, student), middleware stack yang melindungi tiap route, contoh route model binding, dan naming convention.
- docs/middleware.md Penjelasan workflow middleware (auth, role-based, verified), urutan eksekusi, contoh error/redirect, serta best practice fail-fast authorization.
- docs/database.md Dokumentasi schema database, detail tiap migration, strategi cascade delete, diagram ERD, serta tips menjalankan/rollback migration.
- docs/tests.md Struktur test suite, contoh Arrange-Act-Assert, daftar assertion yang digunakan, serta panduan menjalankan test parsial maupun penuh.
- β Form Request Classes - Validasi terstruktur dengan pesan error kustom
- β Database Transactions - Operasi atomik untuk integritas data
- β Error Handling - Penanganan error yang komprehensif dengan logging
- β Certificate System - Generasi PDF dan penerbitan sertifikat
- β Progress Tracking - Auto-generate sertifikat saat progress mencapai 100%
- β Role-based Access Control - Authorization untuk setiap role
# Jalankan semua tests
php artisan test
# Jalankan test spesifik
php artisan test --filter TestClassName
# Jalankan dengan coverage
php artisan test --coverageKontribusi sangat diterima! Untuk berkontribusi:
- π΄ Fork repository
- πΏ Buat feature branch (
git checkout -b feature/AmazingFeature) - πΎ Commit perubahan Anda (
git commit -m 'Add some AmazingFeature') - π€ Push ke branch (
git push origin feature/AmazingFeature) - π Buka Pull Request
: https://github.com/ShinZeleo/edutrack-lms
β Jika proyek ini membantu Anda, berikan bintang di repository!

