3.9 KiB
3.9 KiB
📊 Setup Database MySQL untuk SIPINTAR
🚀 Langkah Setup Database yang Sudah Berhasil
✅ Yang Sudah Selesai:
- Database Schema: Tabel-tabel sudah berhasil dibuat di MySQL
- Data Demo: Database sudah terisi dengan data demo
- Konfigurasi: File .env sudah dikonfigurasi dengan benar
🎯 Cara Setup Database dari Awal
Opsi 1: Menggunakan XAMPP (Recommended untuk Development)
-
Download dan Install XAMPP
- Download dari: https://www.apachefriends.org/
- Install dengan default settings
-
Start Services
- Buka XAMPP Control Panel
- Start Apache dan MySQL
-
Buat Database via phpMyAdmin
- Buka http://localhost/phpmyadmin
- Klik "New" di sidebar kiri
- Database name:
sipintar_school
- Collation:
utf8mb4_unicode_ci
- Klik "Create"
Opsi 2: Install MySQL Server Langsung
-
Download MySQL
- Download dari: https://dev.mysql.com/downloads/installer/
- Pilih "MySQL Installer for Windows"
-
Install MySQL
- Jalankan installer
- Pilih "Developer Default"
- Set root password (ingat password ini!)
-
Buat Database
# Login ke MySQL Command Line atau MySQL Workbench CREATE DATABASE sipintar_school CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
🔧 Konfigurasi Aplikasi
-
Edit file .env
# Jika menggunakan XAMPP (default tanpa password) DATABASE_URL="mysql://root:@localhost:3306/sipintar_school" # Jika MySQL dengan password DATABASE_URL="mysql://root:your_password@localhost:3306/sipintar_school" # Jika buat user khusus DATABASE_URL="mysql://sipintar_user:sipintar_password@localhost:3306/sipintar_school"
-
Push Schema ke Database
npx prisma db push
-
Seed Database dengan Data Demo
npm run db:seed
🎯 Test Connection
Setelah setup, test dengan:
# Test koneksi database
npx prisma studio
# Atau jalankan development server
npm run dev
🔐 Demo Accounts yang Tersedia
Setelah seeding berhasil, gunakan akun berikut untuk login:
-
👨💼 Admin:
- Email:
admin@sipintar.com
- Password:
admin123
- Email:
-
👨🏫 Guru:
- Email:
guru@sipintar.com
- Password:
guru123
- Email:
-
👨🎓 Siswa:
- Email:
siswa@sipintar.com
- Password:
siswa123
- Email:
🗄️ Struktur Database yang Sudah Dibuat
Tabel-tabel berikut sudah otomatis dibuat:
📊 Database: sipintar_school
├── 👥 users (Base table untuk semua user)
├── 👨🎓 students (Profile siswa)
├── 👨🏫 teachers (Profile guru)
├── 📚 subjects (Mata pelajaran)
├── 🏫 classes (Kelas)
├── 📝 class_students (Relasi siswa-kelas)
├── ⏰ attendances (Absensi)
├── 📊 grades (Nilai)
└── 📅 academic_years (Tahun akademik)
🛠️ Commands yang Berguna
# Lihat database di browser
npx prisma studio
# Reset database (hati-hati, akan hapus semua data!)
npx prisma db push --force-reset
# Generate Prisma Client setelah perubahan schema
npx prisma generate
# Seed ulang database
npm run db:seed
⚠️ Troubleshooting
Error: "Can't connect to MySQL server"
- Pastikan MySQL service berjalan
- Cek XAMPP Control Panel atau Windows Services
Error: "Database doesn't exist"
- Buat database
sipintar_school
dulu via phpMyAdmin atau MySQL Command Line
Error: "Access denied for user"
- Cek username/password di .env
- Untuk XAMPP default: user=root, password=kosong
✅ Status Saat Ini
Database sudah berhasil disetup dengan:
- ✅ 1 Admin user
- ✅ 2 Teacher users
- ✅ 2 Student users
- ✅ 2 Subjects (Matematika, Bahasa Indonesia)
- ✅ 2 Classes
- ✅ Sample attendance records
- ✅ Sample grades
- ✅ Active academic year 2024/2025
🎉 Aplikasi siap digunakan! Buka http://localhost:3000 dan login dengan demo accounts di atas.