LaraTickets is a support portal that enables users to log their complains. The system is expected to have three types of users, admins, support agents and complainants or the users.
- All users types should be able to login to the system and view their respective dashboards.
- The complainants should be able to raise a ticket, which will allow the agents attend to it.
- The agents should be able to respond to the tickets.
- There should be a reply feature on the tickets for both users and agents.
- An admin can create agents and manage them.
- Only users (complainants) can register an account.
- A ticket should have a tracking ID
- Agents cannot manage other agents account or even be aware there's a section for agents management on the system.
- Agents should be able to filter the complains or tickets using ticket ID and/or other means of filtering.
- All users types should be able to update their.
- Admin users should be created via web or command line interface
Normalize the use of core Laravel features such as Pagination, Gates, Commands, Eloquent eager loading etc. Using these advanced features can greatly impact our decision.