Skip to content

Manage your employees easily with a robust and efficient Human Resource Management System

License

Notifications You must be signed in to change notification settings

gamonoid/icehrm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IceHrm

Build Status

IceHrm is an HRM software which enable companies to manage employee details and HR workflows.

  • Checkout IceHrm without installing: IceHrm Demo
  • Get a Managed IceHrm hosting: IceHrm Cloud
  • Self-hosted IceHrm with all the features in IceHrm Cloud: IceHrmPro

    

Installation

Using Docker

cd icehrm
npm run setup
npm run docker:build
npm run docker:start

Installation (without docker)

Upgrade from Previous Versions

  • Download the latest release.
  • Extract the release file.
  • Replace the icehrm/core directory in your current installation.
  • Replace the icehrm/web directory in your current installation.
  • Copy or replace icehrm/updater in your current installation.
  • From icehrm/app directory in release, copy and replace following files in your installtion icehrm/app directory:
    • fileupload-new.php
    • fileupload_page.php
    • google-connect.php
    • updater.php

Setup Development Environment

git clone https://github.com/gamonoid/icehrm.git
cd icehrm
docker compose up -d

Extend IceHrm with custom Extensions

  • Inorder to create an admin extension run
php ice create:extension sample admin

Building frontend assets

  • When ever you have done a change to JavaScript or CSS files in icehrm/web you need to rebuild the frontend
  • First make sure you have all the dependencies (just doing this once is enough)
cd icehrm/web
npm install
cd ..
npm install
  • Build assets during development
gulp clean
gulp
  • Build assets for production
gulp clean
gulp --eprod
  • Build extensions
gulp ejs --xextension_name/admin

Debugging code with psysh

You can run psysh inside the icehrm web docker container to manually debug the code.

  • Start Psysh console
docker compose up -d
docker exec -it icehrm-icehrm-1 /bin/sh
./psysh -c ./.config/psysh/config.php

This will open a psysh console. You can instantiate any IceHrm class and debug it. Here is an example of creating an employee object and loading an employee from the database.

$emp = new \Employees\Common\Model\Employee();
$emp->Load('id = ?',[1]);
var_dump($emp);

Running tests (Docker)

  • Run e2e (cypress) tests
docker compose -f docker-compose-testing.yaml up --exit-code-from cypress

or

docker compose -f docker-compose-testing.yaml up --exit-code-from cypress --build --force-recreate
  • When you are ready to push your changes to production, make sure to build the production images
docker compose -f docker-compose-prod.yaml up -d --build

Useful Links