Platform bimbingan karir dan pendidikan berbasis web untuk membantu siswa dalam menentukan jurusan dan karir masa depan.
NextEdu adalah aplikasi web yang dirancang untuk membantu siswa dalam proses bimbingan karir dan pendidikan. Platform ini menyediakan berbagai fitur interaktif seperti tes minat, rekomendasi jurusan, informasi sekolah, artikel edukasi, dan sistem manajemen konten untuk administrator.
- Autentikasi Lengkap: Registrasi, login, verifikasi email, reset password
- Tes Minat (TanyaJurpan): Sistem forward chaining untuk rekomendasi jurusan
- Hasil Tes: Laporan hasil tes dengan rekomendasi jurusan dan pekerjaan
- Artikel Edukasi: Kumpulan artikel bimbingan karir dengan kategori
- Informasi Sekolah: Database sekolah berdasarkan jurusan
- Testimoni: Sistem ulasan dan pengalaman pengguna
- Manajemen Profil: Edit profil dan foto pengguna
- Dashboard Admin: Panel kontrol lengkap
- Manajemen Konten: CRUD untuk pertanyaan, jurusan, saran pekerjaan, artikel, sekolah
- Manajemen Pengguna: Kontrol akses dan data pengguna
- Ekspor Data: PDF export untuk berbagai laporan
- Manajemen Testimoni: Moderasi dan publikasi testimoni
- Laravel 12: Framework PHP untuk backend
- PHP 8.2+: Bahasa pemrograman utama
- PostgreSQL: Database utama (via Supabase)
- Blade Templates: Template engine Laravel
- Tailwind CSS: Framework CSS untuk styling
- Vite: Build tool dan asset bundler
- Alpine.js: JavaScript framework untuk interaktivitas
- Laravel Sanctum: API authentication
- Laravel Socialite: OAuth integration (Google)
- Intervention Image: Manipulasi gambar
- DomPDF: Generate PDF
- AOS (Animate On Scroll): Animasi scroll
- Pest: Testing framework
Sebelum menjalankan proyek ini, pastikan Anda memiliki:
- PHP 8.2 atau lebih tinggi
- Composer (Dependency manager PHP)
- Node.js & NPM (untuk frontend assets)
- PostgreSQL atau akun Supabase
- Git (untuk cloning repository)
git clone https://github.com/username/nextedu-v2.git
cd nextedu-v2composer installnpm installcp .env.example .envEdit file .env dan sesuaikan konfigurasi:
APP_NAME=NextEdu
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost:8000
# Database (untuk development lokal)
DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/to/database/database.sqlite
# Atau gunakan MySQL/PostgreSQL
# DB_CONNECTION=pgsql
# DB_HOST=127.0.0.1
# DB_PORT=5432
# DB_DATABASE=nextedu
# DB_USERNAME=your_username
# DB_PASSWORD=your_passwordphp artisan key:generate# Buat database SQLite
touch database/database.sqlite
# Jalankan migrasi
php artisan migrate
# Jalankan seeder (opsional)
php artisan db:seednpm run build
# atau untuk development
npm run devphp artisan serveAplikasi akan berjalan di http://localhost:8000
Jika menggunakan Laragon:
- Import folder proyek ke Laragon
- Pastikan PHP dan PostgreSQL/MySQL aktif
- Akses via domain yang disediakan Laragon
- Kunjungi supabase.com
- Buat akun baru atau login
- Klik "New Project"
- Isi detail proyek (nama, database password, region)
Update file .env dengan kredensial Supabase:
DB_CONNECTION=pgsql
DB_HOST=db.your-project-ref.supabase.co
DB_PORT=5432
DB_DATABASE=postgres
DB_USERNAME=postgres
DB_PASSWORD=your-database-password# Jalankan migrasi ke Supabase
php artisan migrate
# Jalankan seeder
php artisan db:seedJika menggunakan Supabase Storage untuk upload gambar:
# Supabase Storage
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key- Kunjungi railway.app
- Buat akun baru atau login
- Klik "New Project" > "Deploy from GitHub repo"
- Pilih repository NextEdu
- Railway akan otomatis mendeteksi sebagai Laravel app
Di Railway dashboard, tambahkan environment variables:
APP_NAME=NextEdu
APP_ENV=production
APP_KEY=your-generated-key
APP_DEBUG=false
APP_URL=https://your-railway-domain.up.railway.app
# Database (gunakan PostgreSQL dari Railway atau eksternal)
DB_CONNECTION=pgsql
DB_HOST=containers-us-west-1.railway.app
DB_PORT=5432
DB_DATABASE=railway
DB_USERNAME=postgres
DB_PASSWORD=your-db-password
# Redis (jika menggunakan)
REDIS_HOST=containers-us-west-1.railway.app
REDIS_PORT=6379
REDIS_PASSWORD=your-redis-password
# Mail Configuration (opsional)
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=your-app-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your-email@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
# Google OAuth (jika menggunakan)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secretRailway menyediakan PostgreSQL otomatis. Pastikan:
- Migrasi database sudah dijalankan
- Seeder sudah dijalankan jika diperlukan
Railway akan otomatis:
- Install dependencies PHP & Node.js
- Build assets dengan Vite
- Jalankan migrasi database
- Deploy aplikasi
- Di Railway dashboard, tambahkan custom domain
- Update
APP_URLdi environment variables
Kami sangat menghargai kontribusi dari komunitas! Berikut adalah panduan untuk berkontribusi:
git clone https://github.com/your-username/nextedu-v2.git
cd nextedu-v2
git checkout -b feature/nama-fitur-andaIkuti langkah setup lokal di atas.
- Pastikan kode mengikuti standar PSR-12
- Tambahkan test untuk fitur baru
- Update dokumentasi jika diperlukan
git add .
git commit -m "feat: tambah fitur [nama fitur]"git push origin feature/nama-fitur-andaBuat Pull Request di GitHub dengan deskripsi yang jelas.
Gunakan conventional commits:
feat:untuk fitur barufix:untuk perbaikan bugdocs:untuk dokumentasistyle:untuk formattingrefactor:untuk refactoring kodetest:untuk testing
- Ikuti PSR-12 untuk PHP
- Gunakan ESLint untuk JavaScript
- Pastikan semua test pass sebelum commit
Proyek ini menggunakan lisensi MIT. Lihat file LICENSE untuk detail lebih lanjut.
Jika ada pertanyaan atau masukan, silakan hubungi tim development atau buat issue di repository ini.
NextEdu - Membantu siswa menemukan jalan karir mereka. π

