eSchool Dev Docs

Manajemen Sekolah

Cara kerja pembuatan, aktivasi, dan pengelolaan sekolah (tenant).

Ringkasan

Modul ini mengelola data sekolah dan membuat database tenant saat sekolah disetujui.

KomponenLokasi
Controllerapp/Http/Controllers/SchoolController.php
Modelapp/Models/School.php
Routeroutes/web.php

Sesuaikan path di tabel dengan struktur project yang sebenarnya.

Alur

LangkahProses
1Sekolah mengajukan permintaan
2Superadmin menyetujui permintaan
3Sistem membuat database tenant
4Migration tenant dijalankan
5Status sekolah menjadi aktif

Kolom model

schools (model School)

KolomIsi
name, tagline, addressIdentitas sekolah
codeKode sekolah (prefix + tahun + nomor)
support_email, support_phoneKontak sekolah
logoPath file logo
domain, domain_typeDomain sekolah
typeJenis sekolah, bernilai custom pada jalur persetujuan
edu_level_idJenjang pendidikan (relasi ke edu_level)
admin_idID user admin sekolah
database_nameNama database tenant, formatnya eschool-{id}-{nama}
status1 aktif, 0 nonaktif
is_trial, trial_start_date, trial_end_dateMasa trial
deleted_atSoft delete

Relasi yang dipakai: user (admin), subscription (langganan yang berlaku hari ini), eduLevel.

Inquiry pendaftaran (model dari SchoolInquiryInterface)

KolomIsi
school_name, school_email, school_phone, school_address, school_taglineData sekolah yang didaftarkan
dateTanggal pengajuan
status0 pending, approved, atau rejected
database_statusnot_created, creating, created, atau failed
database_created_at, database_errorWaktu selesai dan pesan error
notesJSON data admin: nama, kontak, email, edu_level_id, trial_package

Tabel pendukung

TabelKolom
school_settingsschool_id, name, data, type
user_relationemail, school_code, role, status (dipakai untuk login terpusat)

Menghapus sekolah juga menghapus database tenant. Backup dulu.

Lihat juga

On this page