VERSION: LARAVEL 5.4
Hi, I want to design a large scale application which is similar to below and need advice on how I should design the project in Laravel 5.4
Application type: School Application
Access Levels (with brief summary of abilities):
• Teachers
o Calendar, View all students, analyze student progress, etc
• Students
o Can view calendar, past papers, etc
• Parents
o Can view their students (i.e children) progress be it test scores, calendar, school fees, etc
• System Administrator
o Responsible for managing staff access on system
• Headmaster
o Can manage teachers i.e review class performance, calendars, schedule events, etc
• Finance
o Manages invoices, fees, etc
Example Folder structure (that I would normally use for php only project):
Folder Depth 0
- Dashboard
- Calendar
- Finances
- Students
Folder Depth 1
- Student Fees
- Classes
Folder Depth 2
- School Fees
- Bus pass
- Primary
- Secondary
Folder Depth 3
Year 1
Year 2
Year 3
Year …
Year …
Year …
Year 11
Year 12
Year …
As shown above in access level summaries, various access levels will have access to past papers, all have access to calendar and homepage, only finance can view/update/create/delete all invoices, etc
What is the recommended way to convert this concept to a MVC format for Laravel project (i.e a school application) that has these requirements? Should I simply create this exact folder structure within the views? And for routes, will I have to wrap each access levels pages within conditionals for each access level?
NOTE: I am moving from a plain PHP project to a php framework project therefore I am used to just creating the folders for each section as shown above