Large Scale project design

Posted 1 year ago by ochirach


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

  1. Dashboard
  2. Calendar
  3. Finances
  4. Students

Folder Depth 1

  1. Student Fees
  2. Classes

Folder Depth 2

  1. School Fees
  2. Bus pass
  3. Primary
  4. 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

Please sign in or create an account to participate in this conversation.