This project contains a full Laravel migration and seeder setup for a multi-tenant school management system. To make it for only one school, just remove school_id wherever you see it.
- Multi-school support
- Users (admin, teacher, student)
- Classrooms, subjects, grades, attendance
- Fully seeded test data
- Models and some relationships
├── 📁database/
│ └── 📁migrations/ # Migrations for all tables
│ └── 📁seeders/ # Seeders for all tables
├── 📁sql/
│ └── schema_dump.sql # SQL export of schema
├── 📁erd/
│ └── school_mgmt_erd.png # Visual ERD diagram
├── README.md # This file
- School
- Users (admin, teacher, student)
- Sessions, terms
- Classrooms, subjects, attendance
- Assessments, grades
- Notices
- Clone the repo:
git clone https://github.com/Nahyomee/school-management-schema.git
cd school-management-schema
- Install Laravel dependencies
composer install
- Setup .env:
cp .env.example .env
php artisan key:generate
- Run the migrations:
php artisan migrate
- Run the seeders
php artisan db:seed
Instead of MySQL, you can use SQLite by updating .env like so:
DB_CONNECTION=sqlite
Visual representation is available in /erd/school_mgmt_erd.png.
The Laravel framework is open-sourced software licensed under the MIT license.