Giter VIP home page Giter VIP logo

small-small-hr's Introduction

small-small-hr

Build Status

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:

  1. Clone this repo
  2. pip install -r requirements/dev.txt
  3. pre-commit install

Testing

pip install -U tox

tox

small-small-hr's People

Contributors

imgbotapp avatar moshthepitt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

small-small-hr's Issues

Add view to add annual leave in bulk

  • Check all active staff members that do not have leave days
  • Generate llist of the users with with formsets for the annual leave records of each user
  • Create the records when saved

Overlapping leave days

If an employee has approved leave days for certain dates, it is not possible to reject any application previously made for the same dates.

Dont count public holidays

When calculating the leave days that a staff member has used up, do not include public holidays as leave days.

Disconnect create_staffprofile signal

The person implementing the lib should decide whether staff profile objects are created automatically

Which means that admins should be able to create or edit staff profile objects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.