I am using yii2 basic application. I have code using simple Model, Controller and Views.
I have Employee CRUD application in yii2. I have configured the user application component for authentication purpose and is working properly where only authenticated users can login.
Now I want that when Admin logs in, he should see the admin panel which consist of Dashboard, Employee, Employee Training and other menus. Now when Admin clicks on Dashboard menu, he should see some statistics. Similarly when clicked on Employee menu, he should be able to access Employee CRUD and when clicked on Employee Training, Employee Training CRUD application should be accessed.
Admin creates the Employees and Employee Training for employees. Admin should create roles and assign roles to Employees. Once an employee is created and role is assigned, then Employee should be able to log in into his account.
When Employee logs in, he should be able to see employee control panel which consists of Dashboard, My Profile and some other menus. When employee clicks on My Profile menu, he should be able to view only his profile. Similarly when there is some CRUD application such as SHGGroup creation where employee creates group. Here if Employee A creates 4 groups and Employee B creates 10 groups, then when employee A logs in to his account he should be able to access only his created 4 groups. Similarly when Employee B logs in, he should be able to access his created 10 groups and so on.
Should I need to design the application using modules, or using simple model, controller and views is fine?
How can we have login for such case?
Is only one login window sufficient?
Do we need to create two separate login window for Employee and Admin? If so how to implement that? Do we need to create
one more user application component?
If we create a separate login window where from first login window employees can log in into the application and from second log in window, Admin can enter username and password and, then he can access everything in the application.
What would be the way to implement?