|
Objective
Developing an application that allows planning scheduler of the company's staff. Application should have the following features :
- Program should have a system of roles: administrator, sales representative, company manager, employee;
- Program should allow administrator to manage sales representatives & managers of the company;
- Program should allow sales representative to manage list of the company's managers;
- Program should managers to manage list of employees, create a schedule, manage list of jobs.
- Employee should have an ability to notify company's manager about his availability; moreover, availability should be represented in schedule.
- System should allow companies to work in different time zones;
- Company's manager should have an ability to change a wide range of options & settings;
- System should send notifications about new schedules, changes, and daily reminders before each shift;
- Program should have report generation.
Application should meet the following technical requirements:
- Availability: 99,9%
- Manageability: configuration and monitoring of all parts of the application by functional admin role
- Performance: application should be meant to simultaneous work of up to 100 users. Application's Max. response time should not exceed 5 seconds.
- Reliability: The transactions between the applications have to be reliable. Data must be validated and processed in such a way that its integrity can be guaranteed at all times.
- Scalability: application has to be prepared for a growing user population without increasing response time
Solution
We developed an application that allows creating and managing schedules for staff. Application completely meets all requirements listed above. Functionality for 4 user roles is realized in application: Administrator, Sales Representative, Company manager, Employee. Functionality realized for each role is described in Features part. Platforms, Tools , and Technologies
The Web application was developed using PHP/My SQL Server technologies . Site is performed on Linux platform. Admin's abilities:
- To manage sales representatives , company managers;
- To view reports about payments made;
- To create Paycheck for Sale Representative.
Sales Representative 's abilities:
- To manage company managers;
- To view reports about clients' payments.
Company Manager 's abilities:
- To manage the general list of jobs;
- To manage employees' list;
- To define a basic job and list of additional jobs for each employee;
- To review and manage list of Days Off & Availability requests;
- To change and save options & settings;
- To manage employees' schedule;
- To review reports (hours & wages) of each employee for a week;
- To review reports (hours, wages, scheduled employees) for a day for each group of employees or/and for all of them;
- To create Par Level for every day;
- To send Emails to employees selected from list;
- To print schedule for a week;
- To print list of employees.
Report viewer's abilities:
- To review and print schedule of his jobs and of other's jobs, if it is allowed by manager;
- To review and print Contact List;
- To send emails to employees selected from list;
- To create Days Off & Availability;
- To change and save options & settings.
|