diff --git a/.github/frappe-hr-logo.png b/.github/frappe-hr-logo.png index 6c79cc3d1a..abfeedde8c 100644 Binary files a/.github/frappe-hr-logo.png and b/.github/frappe-hr-logo.png differ diff --git a/.github/frappe-hr-old-logo.png b/.github/frappe-hr-old-logo.png new file mode 100644 index 0000000000..6c79cc3d1a Binary files /dev/null and b/.github/frappe-hr-old-logo.png differ diff --git a/.github/hrms-appraisal.png b/.github/hrms-appraisal.png new file mode 100644 index 0000000000..fe4481878e Binary files /dev/null and b/.github/hrms-appraisal.png differ diff --git a/.github/hrms-attendance.png b/.github/hrms-attendance.png new file mode 100644 index 0000000000..32d4b58d89 Binary files /dev/null and b/.github/hrms-attendance.png differ diff --git a/.github/hrms-hero.png b/.github/hrms-hero.png new file mode 100644 index 0000000000..a2bbc99501 Binary files /dev/null and b/.github/hrms-hero.png differ diff --git a/.github/hrms-pwa.png b/.github/hrms-pwa.png new file mode 100644 index 0000000000..f7c4c31382 Binary files /dev/null and b/.github/hrms-pwa.png differ diff --git a/.github/hrms-requisition.png b/.github/hrms-requisition.png new file mode 100644 index 0000000000..78c151b432 Binary files /dev/null and b/.github/hrms-requisition.png differ diff --git a/.github/hrms-salary.png b/.github/hrms-salary.png new file mode 100644 index 0000000000..9451c049fa Binary files /dev/null and b/.github/hrms-salary.png differ diff --git a/README.md b/README.md index c047335375..3173472971 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,137 @@
- Frappe HR Logo + Frappe HR Logo

Frappe HR

-

Open Source, modern, and easy-to-use HR and Payroll Software for all organizations

+

Open Source, modern, and easy-to-use HR and Payroll Software

[![CI](https://github.com/frappe/hrms/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/frappe/hrms/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/frappe/hrms/branch/develop/graph/badge.svg?token=0TwvyUg3I5)](https://codecov.io/gh/frappe/hrms) -[https://frappe.io/hr](https://frappe.io/hr) - -

- - Frappe HR - The missing open source HR and payroll software | Product Hunt - -

- -
- - -
+
+ +
- +
+ Website + - + Documentation
-## Introduction +## Frappe HR Frappe HR has everything you need to drive excellence within the company. It's a complete HRMS solution with over 13 different modules right from Employee Management, Onboarding, Leaves, to Payroll, Taxation, and more! -![HRMS](hrms.png) +## Motivation +When Frappe team started growing in terms of size, we needed an open-source HR and Payroll software. We didn't find any "true" open-source HR software out there and so decided to build one ourselves. +Initially, it was a set of modules within ERPNext but version 14 onwards, as the modules became more mature, Frappe HR was created as a separate product. ## Key Features -- Employee Management -- Employee Lifecycle -- Leave and Attendance -- Shift Management -- Expense Claims and Advances -- Hiring -- Performance Management -- Fleet Management -- Training -- Payroll -- Taxation -- Compensation -- Analytics +- **Employee Lifecycle**: From onboarding employees, managing promotions and transfers, all the way to documenting feedback with exit interviews, make life easier for employees throughout their life cycle. +- **Leave and Attendance**: Configure leave policies, pull regional holidays with a click, check-in and check-out with geolocation capturing, track leave balances and attendance with reports. +- **Expense Claims and Advances**: Manage employee advances, claim expenses, configure multi-level approval workflows, all this with seamless integration with ERPNext accounting. +- **Performance Management**: Track goals, align goals with key result areas (KRAs), enable employees to evaluate themselves, make managing appraisal cycles easy. +- **Payroll & Taxation**: Create salary structures, configure income tax slabs, run standard payroll, accomodate additional salaries and off cycle payments, view income breakup on salary slips and so much more. +- **Frappe HR Mobile App**: Apply for and approve leaves on the go, check-in and check-out, access employee profile right from the mobile app. -## Installation +
-### Manual Installation +View Screenshots + + + + + +
-1. [Install bench](https://github.com/frappe/bench). -2. [Install ERPNext](https://github.com/frappe/erpnext#installation). -3. Once ERPNext is installed, add the hrms app to your bench by running +### Under the Hood +- [**Frappe Framework**](https://github.com/frappe/frappe): A full-stack web application framework written in Python and Javascript. The framework provides a robust foundation for building web applications, including a database abstraction layer, user authentication, and a REST API. + +- [**Frappe UI**](https://github.com/frappe/frappe-ui): A Vue-based UI library, to provide a modern user interface. The Frappe UI library provides a variety of components that can be used to build single-page applications on top of the Frappe Framework. + +## Production Setup + +### Managed Hosting + +You can try [Frappe Cloud](https://frappecloud.com), a simple, user-friendly and sophisticated [open-source](https://github.com/frappe/press) platform to host Frappe applications with peace of mind. + +It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments. + +
+ + + + Try on Frappe Cloud + + +
+ + +## Development setup +### Docker +You need Docker, docker-compose and git setup on your machine. Refer [Docker documentation](https://docs.docker.com/). After that, run the following commands: +``` +git clone https://github.com/frappe/hrms +cd hrms/docker +docker-compose up +``` + +Wait for some time until the setup script creates a site. After that you can access `http://localhost:8000` in your browser and the login screen for HR should show up. + +Use the following credentials to log in: + +- Username: `Administrator` +- Password: `admin` + +### Local + +1. Set up bench by following the [Installation Steps](https://frappeframework.com/docs/user/en/installation) and start the server and keep it running ```sh - $ bench get-app hrms + $ bench start ``` -4. After that, you can install the hrms app on the required site by running +2. In a separate terminal window, run the following commands ```sh - $ bench --site sitename install-app hrms + $ bench new-site hrms.local + $ bench get-app erpnext + $ bench get-app hrms + $ bench --site hrms.local install-app hrms + $ bench --site hrms.local add-to-hosts ``` - +3. You can access the site at `http://hrms.local:8080` ## Learning and Community -1. [Documentation](https://docs.frappe.io/hr) - Extensive documentation for Frappe HR. -2. [User Forum](https://discuss.erpnext.com/) - Engage with the community of ERPNext users and service providers. -3. [Telegram Group](https://t.me/frappehr) - Get instant help from the community of users. +1. [Frappe School](https://frappe.school) - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community. +2. [Documentation](https://docs.frappe.io/hr) - Extensive documentation for Frappe HR. +3. [User Forum](https://discuss.erpnext.com/) - Engage with the community of ERPNext users and service providers. +4. [Telegram Group](https://t.me/frappehr) - Get instant help from the community of users. + + +## Contributing -## Contribute +1. [Issue Guidelines](https://github.com/frappe/erpnext/wiki/Issue-Guidelines) +1. [Report Security Vulnerabilities](https://erpnext.com/security) +1. [Pull Request Requirements](https://github.com/frappe/erpnext/wiki/Contribution-Guidelines) -1. [Issue Guidelines](https://github.com/frappe/erpnext/wiki/Issue-Guidelines) - [Create an issue](https://github.com/frappe/hrms/issues/new) -1. [Contribution Guidelines](https://github.com/frappe/erpnext/wiki/Contribution-Guidelines) -## License +## Logo and Trademark Policy -GNU GPL V3. (See [license.txt](license.txt) for more information). +Please read our [Logo and Trademark Policy](TRADEMARK_POLICY.md). + +
+
+
+ + + + Frappe Technologies + + +
-The HR code is licensed as GNU General Public License (v3) and the copyright is owned by Frappe Technologies Pvt Ltd (Frappe) and Contributors. diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000000..121d2e900e --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,32 @@ +version: "15.37" +name: hrms +services: + mariadb: + image: mariadb:10.8 + command: + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_unicode_ci + - --skip-character-set-client-handshake + - --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6 + environment: + MYSQL_ROOT_PASSWORD: 123 + volumes: + - mariadb-data:/var/lib/mysql + + redis: + image: redis:alpine + + frappe: + image: frappe/bench:latest + command: bash /workspace/init.sh + environment: + - SHELL=/bin/bash + working_dir: /home/frappe + volumes: + - .:/workspace + ports: + - 8000:8000 + - 9000:9000 + +volumes: + mariadb-data: \ No newline at end of file diff --git a/docker/init.sh b/docker/init.sh new file mode 100644 index 0000000000..de9c669245 --- /dev/null +++ b/docker/init.sh @@ -0,0 +1,42 @@ +#!bin/bash + +if [ -d "/home/frappe/frappe-bench/apps/frappe" ]; then + echo "Bench already exists, skipping init" + cd frappe-bench + bench start +else + echo "Creating new bench..." +fi + +export PATH="${NVM_DIR}/versions/node/v${NODE_VERSION_DEVELOP}/bin/:${PATH}" + +bench init --skip-redis-config-generation frappe-bench + +cd frappe-bench + +# Use containers instead of localhost +bench set-mariadb-host mariadb +bench set-redis-cache-host redis:6379 +bench set-redis-queue-host redis:6379 +bench set-redis-socketio-host redis:6379 + +# Remove redis, watch from Procfile +sed -i '/redis/d' ./Procfile +sed -i '/watch/d' ./Procfile + +bench get-app erpnext +bench get-app hrms + +bench new-site hrms.localhost \ +--force \ +--mariadb-root-password 123 \ +--admin-password admin \ +--no-mariadb-socket + +bench --site hrms.localhost install-app hrms +bench --site hrms.localhost set-config developer_mode 1 +bench --site hrms.localhost enable-scheduler +bench --site hrms.localhost clear-cache +bench use hrms.localhost + +bench start \ No newline at end of file