Multi-Role User Management Website

Job ID: 38720433

Budget: $30 – $250 USD

Website Overview
This website will have three types of users: Leader, Admin, and Worker. The functionality varies depending on the user's role. All users will log in using their ID and password.

Login Page:
User Roles: Leader, Admin, Worker.
Login by: ID, Password.
Leader Functionality:
After login, the leader can:

Manage Admins:
Add, Edit, or Delete Admins.
View a list of all admins.
Logout Button: Easy access to log out.
Admin Functionality:
After login, the admin can:

Manage Workers:
View workers that report to this admin (team leads).
Add, Edit, or Delete Workers.
Fields: Name, Phone Number, ID, Team Lead's Name.
See which workers are connected to the clients.
Client Management:
View and manage clients connected to workers.
Dashboard showing information about clients, like how many clients were added in the last 30 days for each company.
Search for workers or clients using multiple criteria (name, ID, phone number, etc.).
View client profiles with detailed information.
Logout Button.
Worker Functionality:
After login, the worker can:

Manage Clients:

View a list of clients assigned to them.
Search for clients by various fields (ID, phone number, etc.).
Edit client details except for the assigned worker (only admins can change this).
Add new clients (checking if the client already exists by ID or phone number to avoid duplicates).
Client fields: Name, ID, Phone Numbers (multiple), Main Phone Number, Assigned Worker, Payment Information (including card details), Address, Status (new, frozen, etc.), Email, Company, Notes.
Add Notes for Clients:
The worker’s name is automatically included in the note.
Notes include a date field and a description of the action taken (e.g., "On 28/2/2024, solved a connection problem").
Admins receive notifications for important notes (e.g., "On 26/9/2024, the client needs to change the company").
Logout Button.

Additional Features:
Notifications for Admins: When a worker adds a note with a future action (e.g., "Client needs to change company by 26/9/2024"), a notification is sent only to the admin.

Client Search and Profile:

Both workers and admins can search for a client using any client information (ID, phone numbers, etc.).
Clicking on the client’s profile will display all related information including notes and status.
Related categories: Website Design Node.js React.js MongoDB MERN Stack