LaravelAdmin dashboardCorporate WebsiteStarter

Education-ERP-Laravel-8 — Laravel Admin dashboard Template

By mogrady-professional

A Laravel-based school management ERP starter project that includes staff, student expenses, and report management, with dual user and admin login via Jetstream.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

1 previews
Author preview
Author-provided preview

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Multi-authentication system with user and admin dual login implemented using Laravel Jetstream

02

Includes staff management, student expenses management, and report management modules

03

Provides instructions for local running, server deployment, and Heroku deployment

04

README includes screenshots of the login page, dashboard, student management, and reports

05

Released under the MIT license, allowing free use, modification, commercial use, and distribution of this version's code

Template Details

This project is a school management ERP system written in Laravel, positioned as a starter project for an end-to-end CMS. The README states that it covers staff management, student expenses management, and report management, and emphasizes that the initial version leaves ample room for expansion. Authentication uses Laravel Jetstream to build a multi-authentication system, distinguishing between regular user and administrator logins.

Running locally requires cloning the project, executing composer install, creating the education_erp database in phpMyAdmin, running php artisan migrate:fresh, and renaming env.example to .env and filling in the configuration. The README specifically notes that a Mailtrap account must be registered and email configuration filled in to enable password reset and account confirmation features; after creating an account, the user's usertype field must be changed to Admin in the database to access administrative features.

For deployment, the README provides two paths: server deployment and Heroku deployment. Server deployment requires packaging and uploading, importing education_erp.sql, updating the database configuration in .env, and handling default string length and forcing HTTPS in production in AppServiceProvider. Heroku deployment requires creating a Procfile, setting configuration variables such as APP_KEY, and using ClearDB MySQL as the database.

LaravelAdmin panelCorporate websiteStarter

Is it right for your project?

Use Cases

  • As a starter codebase for secondary development of a school management ERP project
  • To learn how to implement a multi-authentication system with Laravel Jetstream
  • To set up a demo environment locally or on Heroku to evaluate its admin backend structure
  • To reference its data management design for staff, student expenses, and report modules

Suitable For

  • Laravel developers who need a starter template for a school management backend
  • Developers who want to study the implementation of Jetstream dual user and admin login
  • Individuals or small teams planning to extend ERP functionality on the existing foundation

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the project, run composer install to install dependencies

  2. 2

    Create the education_erp database in phpMyAdmin and run php artisan migrate:fresh to migrate the table structure

  3. 3

    Rename env.example to .env and fill in the configuration; a Mailtrap account is a required step for password reset and account confirmation features

  4. 4

    After creating an account, set the user's usertype field to Admin in the database to use administrative features

  5. 5

    When deploying to a server, import education_erp.sql and update the database configuration in .env; for Heroku deployment, create a Procfile and set configuration variables such as APP_KEY

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Local running requires registering a Mailtrap account and filling in its email configuration; otherwise, password reset and account confirmation features cannot be used. This is an external service dependency that requires self-registration and bearing the corresponding service costs.
  • Before running, you must prepare a MySQL database yourself (e.g., creating education_erp via phpMyAdmin); the project does not include a database service.
  • After registering an account, you must manually enter the database and change the usertype field to Admin to access administrative features; privilege escalation cannot be completed through the interface alone.
  • Heroku deployment relies on the ClearDB MySQL add-on, which is a third-party external service that may incur additional costs or quota limits.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Set up a [mailtrap account](https://mailtrap.io/) to enable reset password, and confirm account functionality. **Required Step**.

Original README

Create the `education_erp` database within phpMyAdmin Panel

Original README

Go into the phpMyAdmin panel and assign a usertype of `Admin` to your user record.

Original README

Select `ClearDB MySQL`

Original README
https://github.com/mogrady-professional/Education-ERP-Laravel-8/blob/master/LICENSEhttps://github.com/mogrady-professional/Education-ERP-Laravel-8/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 77 / 100
Technologies
Laravel
Website type
Admin dashboard · Corporate Website · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2022-06-26
Screenshot last checked
2026-10-02

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Laravel as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: da7dec9a04fa79c803f1b139d4c95b113fdcc943a8bb2257603299858334c7f2

2026-10-02T18:54:55.460Z

Source file / repository
<h1 align="center">Education ERP System - Laravel 8 CMS Project</h1>
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400"></a></p>
<p align="center"><img src="images/login.PNG"  height="auto" width="100%"></p>
<p align="center"><img src="images/dash.PNG"  height="auto" width="100%"></p>
<p align="center"><img src="images/sm.PNG"  height="auto" width="100%"></p>
<p align="center"><img src="images/report.PNG"  height="auto" width="100%"></p>

---

# Introduction

Education is an ERP System offering a complete school management system with staff, student expenses and report management functionality. The Application is built in Laravel 8 and is a complete end-to-end CMS (Content Management System) and is highly customizable. The initial project is a starter project with lots of room for improvement in terms of features and functionality that can be built upon. Multi authentication system built using Laravel Jetstream with User and Admin logins.

# Link to Project

> Hosted on Heroku on a ClearDB MySQL Database, using JetBrains DataGrip to connect to the database.

-   [https://education-erp.herokuapp.com/](https://education-erp.herokuapp.com/)

# Developer Notes

Prior to deploying the application the following considerations need apply.

-   Configuration Caching
    -   To give your application a speed boost, you should cache all of your configuration files into a single file using the config:cache Artisan command. This will combine all of the configuration options for your application into a single file which can be quickly loaded by the framework. [See here](https://laravel.com/docs/9.x/configuration#configuration-caching)
    -   Run:
        -   `php artisan config:cache`
-   Application cache
    -   The application cache is the primary cache in Laravel. It stores everything that you manually cache in your application. You can clear only specific elements of the cache if you use tags or different cache stores. The easiest way to clear the Laravel cache is via artisan:
    -   Run:
        -   `php artisan cache:clear`
-   View cache
    -   Another part of the application that has a cache is the view cache. The view cache stores rendered Blade templates to speed up your application. You can manually render all views to increase the performance by using the artisan command for it:
    -   Run:
        -   `php artisan view:clear`

# Instructions to run project locally

1. Download/Clone Project
2. Run `composer install` within the project directory to install dependencies for the project (ensure composer is installed on your system)
3. Create the `education_erp` database within phpMyAdmin Panel
4. Run `php artisan migrate:fresh` to migrate the database
5. Rename `env.example` to `.env` (sample environment variables for Laravel) and populate with your details:
    1. Set up a [mailtrap account](https://mailtrap.io/) to enable reset password, and confirm account functionality. **Required Step**.
    2. Populate the file with the details from your mailtrap account.
6. Run `php artisan serve` to starting a Laravel development server on http://127.0.0.1:8000
7. Create an account
    1. Go into the phpMyAdmin panel and assign a usertype of `Admin` to your user record.

# Routes

-   Login to Dashboard `http://127.0.0.1:8000`

# Deploying on a Server

-   Compress the project folder by adding to a .zip directory for uploading to the server and extracting.
-   Create a MySQL database with your hosting provider and import the `education_erp.sql` file to create the tables and populate the data.
-   Update the database configuration in the `.env` file (e.g. database name, username, password etc.)
-   Errors?
    -   `Specified key was too long?`:
    -   `HTTPS Errors?`

Update the following in `AppServiceProvider.php` the code should be self explainatory.

```php
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\URL;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
        Schema::defaultStringLength(191);
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
        if(config('app.env') === 'production') {
            URL::forceScheme('https');
        }
    }
}
```

# Deploying on Heroku

> Credentials for this project are redacted for security reasons. Step-by-step instructions below.

-   [Heroku - Getting Started with Laravel](https://devcenter.heroku.com/articles/getting-started-with-laravel)

## Prepare Git

-   `git init`
-   `git add .`
-   `git commit -m "new laravel project"`

## Create a Procfile

This is required to tell Heroku where to serve the project from. i.e. with Laravel this must be from the public folder.

-   `echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile`
-   `git add .`
-   `git commit -m "Procfile for Heroku"`

## Create Application

-   `heroku create`
    -   Set a Laravel encryption key
        -   `php artisan key:generate --show`
        -   `heroku config:set APP_KEY=<your_app_key_goes_here>`
-   Deploy
    -   `git push heroku master`

## Set up Database

-   Configure Add-ons
    -   Select `ClearDB MySQL`
        -   This will generate a MySQL database and generate credentials (connection string with database name, username, password) in Config Vars (`CLEARDB_DATABASE_URL`)

## Config Vars

| Key                  | Value                      |
| -------------------- | -------------------------- |
| APP_KEY              | \<your_app_key_goes_here>  |
| CLEARDB_DATABASE_URL | \<automatically_generated> |
| APP_DEBUG            | False                      |
| DB_CONNECTION        | mysql                      |
| DB_DATABASE          | \<database_name_goes_here> |
| DB_HOST              | \<host_goes_here>          |
| DB_PASSWORD          | \<password_goes_here>      |
| DB_PORT              | 3306                       |
| DB_USERNAME          | \<username_goes_here>      |
| APP_ENV              | production                 |

## Migrate the Tables

-   Settings
    -   Run Console
        -   `php artisan migrate:fresh`

## Connect to the Database

Use a tool such as [DataGrip](https://www.jetbrains.com/help/datagrip/meet-the-product.html) by JetBrains to connect to the Database remotely.

-   Create a user through the Admin Panel Login
    -   Update the record in the database and add `Admin` to the `usertype` field in the record to access admin features.

## Enforcing HTTPS for Production

-   Within `AppServiceProvider.php` inside the `boot` function add the following

```php
use Illuminate\Support\Facades\URL;

    public function boot()
    {
        //
        if(config('app.env') === 'production') {
            URL::forceScheme('https');
        }
    }
```

## Setting the Default String Length

If errors occur, add the following to the `register` function within the same file:

```php
use Illuminate\Support\Facades\Schema;
    public function register()
    {
        //
        Schema::defaultStringLength(191);
    }
```
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.