Trying to get off on the right foot and decide if I just need Jetstream Teams, Team + Spatie or something else. I built a frontend/backend system (still using it) that handles everything my niche industry requires. It's integrated loosely with a CMS, I'd like to sever it from the CMS onto Laravel. I really like the functionality of Jetstream's teams, seamlessly switching between teams and allowing users to serve different roles on different teams is great; my system just assigns one role to a user and that role has defined privileges across the system.
What gives me pause is the complexity of my current setup, I'm not sure Jetstream's hard-coded roles will be able to handle the complexity. Here's the basics of it:
**ADMIN COMPANY**
Super Admin - God mode
Admins - create Companies and CRUD the Companies they create and any Company Clients/Projects
**COMPANIES**
Company Admins - create Clients, Account Executives, etc., Admin for the Company
Account Executives - work with Company Clients, create/oversee Client Projects
Accounting - typical accounting tasks (processing timesheets, paying contractors, etc.,)
**COMPANY CLIENTS**
Same hierarchy as a Company, but only within each particular Client boundaries
**CONTRACTORS**
Can apply to Project jobs, get paid, get rated, etc., lots of roles that can vary based on the role they are assigned on each Project
So, pretty complex, but also fairly repetitive across some levels. Hard-coding everything into Jetstream roles seems daunting. I add new features every so often, it's built into the system. The system stores roles in the database, similar to what I've seen with Spatie. I've read a few posts regarding combining Jetstream with Spatie to make roles more dynamic, but the sources didn't leave me with great confidence it was the right path to take.
Anybody created something similar? I'm not locked into using Jetstream Teams, it just seems like a good head-start down the road I'm thinking I'll be going down. Any advice would be greatly appreciated. Really kicking myself I didn't do this a decade ago, but no time like the present!