Skip to content

haykalaul/nextedu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NextEdu

NextEdu Logo

Laravel Google Gemini Vite Tailwind CSS Supabase

Platform bimbingan karir dan pendidikan berbasis web untuk membantu siswa dalam menentukan jurusan dan karir masa depan.

πŸ“‹ Overview Proyek

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.

✨ Fitur MVP

πŸ‘€ Fitur Pengguna

  • 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

πŸ› οΈ Fitur Admin

  • 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

πŸ› οΈ Teknologi yang Digunakan

Backend

  • Laravel 12: Framework PHP untuk backend
  • PHP 8.2+: Bahasa pemrograman utama
  • PostgreSQL: Database utama (via Supabase)

Frontend

  • Blade Templates: Template engine Laravel
  • Tailwind CSS: Framework CSS untuk styling
  • Vite: Build tool dan asset bundler
  • Alpine.js: JavaScript framework untuk interaktivitas

Libraries & Tools

  • 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

πŸ“‹ Prasyarat

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)

Screenshoot Dokumentasi

Screenshot

πŸš€ Setup Lokal

1. Clone Repository

git clone https://github.com/username/nextedu-v2.git
cd nextedu-v2

2. Install Dependencies PHP

composer install

3. Install Dependencies Node.js

npm install

4. Setup Environment

cp .env.example .env

Edit 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_password

5. Generate Application Key

php artisan key:generate

6. Setup Database

# Buat database SQLite
touch database/database.sqlite

# Jalankan migrasi
php artisan migrate

# Jalankan seeder (opsional)
php artisan db:seed

7. Build Assets

npm run build
# atau untuk development
npm run dev

8. Jalankan Aplikasi

php artisan serve

Aplikasi akan berjalan di http://localhost:8000

9. Jalankan dengan Laragon (Alternatif)

Jika menggunakan Laragon:

  1. Import folder proyek ke Laragon
  2. Pastikan PHP dan PostgreSQL/MySQL aktif
  3. Akses via domain yang disediakan Laragon

πŸ—„οΈ Setup Database Supabase

1. Buat Akun Supabase

2. Buat Project Baru

  • Klik "New Project"
  • Isi detail proyek (nama, database password, region)

3. Konfigurasi Environment

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

4. Setup Database Schema

# Jalankan migrasi ke Supabase
php artisan migrate

# Jalankan seeder
php artisan db:seed

5. Konfigurasi Storage (Opsional)

Jika 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

πŸš€ Setup Deploy ke Railway

1. Buat Akun Railway

2. Connect Repository

  • Klik "New Project" > "Deploy from GitHub repo"
  • Pilih repository NextEdu
  • Railway akan otomatis mendeteksi sebagai Laravel app

3. Konfigurasi Environment Variables

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-secret

4. Setup Database

Railway menyediakan PostgreSQL otomatis. Pastikan:

  • Migrasi database sudah dijalankan
  • Seeder sudah dijalankan jika diperlukan

5. Build & Deploy

Railway akan otomatis:

  • Install dependencies PHP & Node.js
  • Build assets dengan Vite
  • Jalankan migrasi database
  • Deploy aplikasi

6. Custom Domain (Opsional)

  • Di Railway dashboard, tambahkan custom domain
  • Update APP_URL di environment variables

🀝 Kontribusi

Kami sangat menghargai kontribusi dari komunitas! Berikut adalah panduan untuk berkontribusi:

1. Fork Repository

git clone https://github.com/your-username/nextedu-v2.git
cd nextedu-v2
git checkout -b feature/nama-fitur-anda

2. Setup Development Environment

Ikuti langkah setup lokal di atas.

3. Buat Perubahan

  • Pastikan kode mengikuti standar PSR-12
  • Tambahkan test untuk fitur baru
  • Update dokumentasi jika diperlukan

4. Commit Perubahan

git add .
git commit -m "feat: tambah fitur [nama fitur]"

5. Push & Pull Request

git push origin feature/nama-fitur-anda

Buat Pull Request di GitHub dengan deskripsi yang jelas.

Panduan Commit

Gunakan conventional commits:

  • feat: untuk fitur baru
  • fix: untuk perbaikan bug
  • docs: untuk dokumentasi
  • style: untuk formatting
  • refactor: untuk refactoring kode
  • test: untuk testing

Code Style

  • Ikuti PSR-12 untuk PHP
  • Gunakan ESLint untuk JavaScript
  • Pastikan semua test pass sebelum commit

πŸ“„ Lisensi

Proyek ini menggunakan lisensi MIT. Lihat file LICENSE untuk detail lebih lanjut.

πŸ“ž Kontak

Jika ada pertanyaan atau masukan, silakan hubungi tim development atau buat issue di repository ini.


NextEdu - Membantu siswa menemukan jalan karir mereka. πŸš€

About

Platform bimbingan karir dan pendidikan berbasis web AI untuk membantu siswa dalam menentukan jurusan dan karir masa depan.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors