157 lines
3.9 KiB
Markdown
157 lines
3.9 KiB
Markdown
# 📊 Setup Database MySQL untuk SIPINTAR
|
|
|
|
## 🚀 Langkah Setup Database yang Sudah Berhasil
|
|
|
|
### ✅ Yang Sudah Selesai:
|
|
1. **Database Schema**: Tabel-tabel sudah berhasil dibuat di MySQL
|
|
2. **Data Demo**: Database sudah terisi dengan data demo
|
|
3. **Konfigurasi**: File .env sudah dikonfigurasi dengan benar
|
|
|
|
### 🎯 Cara Setup Database dari Awal
|
|
|
|
#### **Opsi 1: Menggunakan XAMPP (Recommended untuk Development)**
|
|
|
|
1. **Download dan Install XAMPP**
|
|
- Download dari: https://www.apachefriends.org/
|
|
- Install dengan default settings
|
|
|
|
2. **Start Services**
|
|
- Buka XAMPP Control Panel
|
|
- Start **Apache** dan **MySQL**
|
|
|
|
3. **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**
|
|
|
|
1. **Download MySQL**
|
|
- Download dari: https://dev.mysql.com/downloads/installer/
|
|
- Pilih "MySQL Installer for Windows"
|
|
|
|
2. **Install MySQL**
|
|
- Jalankan installer
|
|
- Pilih "Developer Default"
|
|
- Set root password (ingat password ini!)
|
|
|
|
3. **Buat Database**
|
|
```sql
|
|
# Login ke MySQL Command Line atau MySQL Workbench
|
|
CREATE DATABASE sipintar_school CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
```
|
|
|
|
### 🔧 Konfigurasi Aplikasi
|
|
|
|
1. **Edit file .env**
|
|
```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"
|
|
```
|
|
|
|
2. **Push Schema ke Database**
|
|
```bash
|
|
npx prisma db push
|
|
```
|
|
|
|
3. **Seed Database dengan Data Demo**
|
|
```bash
|
|
npm run db:seed
|
|
```
|
|
|
|
### 🎯 Test Connection
|
|
|
|
Setelah setup, test dengan:
|
|
|
|
```bash
|
|
# 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`
|
|
|
|
- **👨🏫 Guru**:
|
|
- Email: `guru@sipintar.com`
|
|
- Password: `guru123`
|
|
|
|
- **👨🎓 Siswa**:
|
|
- Email: `siswa@sipintar.com`
|
|
- Password: `siswa123`
|
|
|
|
### 🗄️ 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
|
|
|
|
```bash
|
|
# 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.**
|