diff --git a/calculatingSalary.bmp b/calculatingSalary.bmp new file mode 100644 index 0000000..4bc1bbd Binary files /dev/null and b/calculatingSalary.bmp differ diff --git a/documentation/README.rst b/documentation/README.rst new file mode 100644 index 0000000..5a75038 --- /dev/null +++ b/documentation/README.rst @@ -0,0 +1,99 @@ +================ +Documentation +================ + +.. contents:: + +Requirements +---------------------------------- +Funtional: + - A user name and password auth + - Encrypted sensitive data + - The employee need to have their full name captured + - The last name must tolerate being null + - An email will be needed for the employee + - The email format must be formated + - Employees will need a phone number + - Searching employees despite the encryption + - Employees must have a unique code to reference them + - Being able to modify the name, email and phone values of already existing employees + - Having the values for the different payments parametrized + - Allowing for employees to perform other roles during their work day + - Only for the auxiliary personnel + - Taking into account only the current month for the salary + - Reducing the taxes for the salary + - If it goes beyond the threshold a different percentage is paid in taxes + - The way the extra tax is handled should be parametrized + + +Funtional: + - Session management + - Data integrity + - Data security + - Accessible through web + - Containerized + +Software behaivor +----------------- +In: + - Employee details + - First name + - Middle name + - Last name + - Birth date + - Email + - Phone number + - Work per day + - Number of deliveries + - Rol performed +Process: + - Register a new employee + - Modify employee + - Search employee + - Add new work day for employee + - Calculate monthly payment for employee + +Out: + - Upon registering + - Employee code + - In the work days registry + - Raw salary for the the month + - Taxes discounted + - Real salary for the month + - Vouchers (if applicable) + +Calculating the monthly salary +-------------------------------- +.. image:: https://raw.githubusercontent.com/PootisPenserHere/payroll_manager/Diagrams/master/calculatingSalary.bmp + +Tests cases +----------------- ++----+----------------------------------------------------------------------------------------------+---------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ +| Id | Description | Input | Expected output | ++----+----------------------------------------------------------------------------------------------+---------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ +| 1 | Displaying current salary for the outgoing month | Selecting an employee from the search field | On the right side of the window a break down of the employee's salary for the month will be displayed | ++----+----------------------------------------------------------------------------------------------+---------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ +| 2 | Submitting incomplete form | All of the input but one of the fields | An error shown in a red modal describing the missing field | ++----+----------------------------------------------------------------------------------------------+---------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ +| 3 | Altering the sent data to change the performed rol to one that can't be done by the employee | A employee other than aux performing a different rol than their own | An error displaying that the employee can't perform that task | ++----+----------------------------------------------------------------------------------------------+---------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ + +Executed tests +--------------- ++----+----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+------------------+ +| Id | Description | Result | What went wrong? | ++----+----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+------------------+ +| 1 | Displaying current salary for the outgoing month | When the employee was selected the current salary was loaded succesfully | | ++----+----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+------------------+ +| 2 | Submitting incomplete form | Got the error "The number of deliveries cannot be empty or 0" | | ++----+----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+------------------+ +| 3 | Altering the sent data to change the performed rol to one that can't be done by the employee | Got the error "The selected rol can't be done by this type of employee" | | ++----+----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+------------------+ + +Tools +---------------------------------- +The following tools and software were used: +- phpstorm +- git +- docker && docker-compose +- Ubuntu 16 diff --git a/documentation/calculatingSalary.bmp b/documentation/calculatingSalary.bmp new file mode 100644 index 0000000..4bc1bbd Binary files /dev/null and b/documentation/calculatingSalary.bmp differ