payroll_manager/documentation
2018-08-16 14:11:31 -06:00
..
README.rst [fix] Indenting 2018-08-16 14:11:31 -06:00

================
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)
 
Tests
-----------------
Tests:
- here go the tests

Tools
----------------------------------
The following tools and software were used:
- phpstorm
- git
- docker && docker-compose
- Ubuntu 16