**Horilla** is a Free and Open Source HRMS (Human Resource Management System) Software designed to streamline HR processes and enhance organizational efficiency.
Horilla can be installed on your system by following the steps below. Ensure you have **Python**, **Django**, and a **database** (preferably PostgreSQL) installed as prerequisites.
---
## **Prerequisites**
### **1. Python Installation**
#### **Ubuntu**
1. Open the terminal and install Python:
```bash
sudo apt-get install python3
```
2. Verify the installation:
```bash
python3 --version
```
#### **Windows**
1. Download Python from the [official website](https://www.python.org/downloads/windows/).
2. During installation, ensure you select **"Add Python to PATH"**.
Follow these steps to run migrations and set up the database.
#### **Ubuntu/macOS**
1. Apply migrations:
```bash
python3 manage.py makemigrations
python3 manage.py migrate
```
#### **Windows**
1. Apply migrations:
```powershell
python manage.py makemigrations
python manage.py migrate
```
---
### **5. Enable Translation**
To enable translations and breadcrumbs text, compile the translations using the following commands.
#### **Ubuntu/macOS**
```bash
python3 manage.py compilemessages
```
#### **Windows**
```powershell
python manage.py compilemessages
```
---
### **6. Run the Project**
To run the project locally, execute the following commands.
#### **Ubuntu/macOS**
```bash
python3 manage.py runserver
```
#### **Windows**
```powershell
python manage.py runserver
```
---
### **Accessing Horilla**
If everything is configured correctly, you should be able to access your Horilla app at **http://localhost:8000**.

#### **Initial Setup**
From the login page, you will have two options:
1.**Initialize Database**: Use this option to initialize the Horilla database by creating a super admin, headquarter company, department, and job position. Authenticate using the `DB_INIT_PASSWORD` specified in the `.env` file.
2.**Load Demo Data**: Use this option if you want to work with demo data. Authenticate using the `DB_INIT_PASSWORD` specified in the `.env` file.
#### **Running on a Custom Port**
If you wish to run the Horilla application on a different port, specify the port number after the `runserver` command. For example:
```bash
python3 manage.py runserver 8080 # For Ubuntu/macOS
python manage.py runserver 8080 # For Windows
```
## **Features**
- **Recruitment**
- **Onboarding**
- **Employee Management**
- **Attendance Tracking**
- **Leave Management**
- **Asset Management**
- **Payroll**
- **Performance Management System**
- **Offboarding**
- **Helpdesk**
---
## **Roadmap**
- **Calendar App** - Development Under Process
- **Project Management** - Development Under Process
[Horilla](https://www.horilla.com/) is an open-source HRMS solution designed to simplify HR operations and improve organizational efficiency.
---
This README provides a comprehensive guide to installing and setting up Horilla on various platforms. If you encounter any issues, feel free to reach out to the Horilla community for support. Happy coding! 🚀