In this course, we will learn how to define different areas based on User Roles: Students, Teachers, and Admins.
The goal is to show you how to separate those subsystems in a Laravel-structured way.
And, along the way, we'll learn the following topics:
Learn how to create separate Areas/Sections for different users based on Roles
Define separate layouts/views/controllers/namespaces/navigation menu etc for different roles
Define a flexible middleware to check for Roles' existence and properly implement Authorization checks.
Learn how to group Routes based on roles and implement a flexible routing structure along with route name prefixes and URLs
Miscellaneous Features:
Implement a method to automatically redirect to the correct dashboard based on the User Role.
Learn how to assign a default student role on registration.
Learn how to define seeders for each model that would configure our project ready for production.
All the role areas that we define in this course will have a separate:
Controller subfolders/namespaces
Views subfolders
Visual layouts
Navigation menus
Route groups
Route name prefixes
URL prefixes
Summary: This course will teach you how to define separate areas based on the User Roles, with separate routes/views/layouts/navigation menus/URL prefixes and route groups along with proper Authorization checks .
We will create a simple project without any logic inside, and without separate visual themes, the goal is to teach you how to divide the Laravel structure into role areas.