small-small-hr
small-small-hr
is a really really small and light-weight Django application that helps you (yes you!) to manage certain aspects of HR (human resource) in your small or large business/organization/whatever.
Installation
pip install small-small-hr
Features
At this time, small-small-hr
supports the following:
Employee records
You can keep track of all your employee's details. This is achieved through a custom StaffProfile
model attached to your User
model via a one-to-one
relationship. Some of the available fields on this model are:
- first name
- last name
- gender
- birth day
- photo
- number of allowed leave days per year
- whether or not overtime is allowed for the employee
- data - a JSON field that allows you to store any extra information
Employee Documents
You can keep track of an unlimited number of employee documents (think employment contracts, performance reviews, scans of identification documents, etc). This is achieved by an StaffDocument
model that has a one-to-many
relationship with the StaffProfile
model (above).
The fields on this model are
- staffprofile_id
- name of document
- description of document
- dcoument file
Leave management
All employees can log in and make a request for leave. To achieve this, there exists a LeaveRequest
model with these fields:
- staffprofile_id
- request date
- start date
- end date
- reason for leave
- status (pending approval/approved/rejected)
- comments (made by the admin, e.g. reasons for refusal)
Once a LeaveRequest object is created, an administrator should review it and approve/reject it.
Overtime hours tracking
Employees who are allowed overtime can log in and record overtime hours. This is done by an OvertimeHour
model with these fields:
- staffprofile_id
- date
- start time
- end time
- reason for overtime
- status (pending approval/approved/rejected)
- comments (made by the admin, e.g. reasons for refusal)
Admins can download overtime hours reports for a particular period.
Contribution
All contributions are welcome.
To set up the project:
- Clone this repo
pip install -r requirements/dev.txt
pre-commit install
Testing
pip install -U tox
tox