Jorani is a Leave Management System developed in PHP/MySQL under an AGPL v3 licence.
Jorani is designed to provide simple leave and overtime request workflows for small organizations.
Informations / getting help
Status
This project is stable and ready for production. An online demo is available here : https://demo.jorani.org/
Use bbalet / bbalet for login / password.
Features
- Comprehensive online documentation (French and English).
- Notifications by e-mail (requested, accepted, rejected and new user).
- Leave request approval workflow (1 validator).
- Overtime request approval workflow (1 validator).
- Leave balance report (filtered by department).
- Monthly presence report.
- Export to XLSX (Excel, LibreOffice) in a click (almost all pages of the application).
- HR users can edit any leave or overtime request.
- Set your own contracts and leave types.
- Calendars of leaves (individual, team, collaborators, etc.).
- Describe your organization in a tree structure and attach employees to entities, define a supervisor per entity.
- Non working days (weekends and day offs) can be defined on a contract so as to automatically calculate the duration of a leave and to display them in the calendar.
- REST API (OAuth2) fully documented and examples with PHP clients.
- LDAP and SAML Authentication (OpenLDAP, AD, etc.).
- OAuth2 Authentication (only Google+ at the moment).
- Available in English, French, Spanish, Italian, Portuguese, German, Dutch, Russian, Ukrainian, Persian, Khmer, Vietnamese, Czech, Arabic and Turkish.
Installation
IMPORTANT: If you want to install Jorani in production, please download it from the Release tab.
See the installation instructions for advanced configuration. In a nutshell :
- If you use Apache, mod_rewrite must be activated and the config must allow overwriting settings with .htaccess file.
- Download or clone Jorani. If you clone, please update the vendor folder with
composer
.
- Upload the content of this folder on your server (in
/var/www/...
).
- Create a database with
/sql/lms.sql
script.
- Create a user with SELECT, INSERT, UPDATE, DELETE, EXECUTE permissions on the database (Jorani uses MySQL functions).
- Update
/application/config/database.php
according to your database settings.
- Update the end of
/application/config/email.php
with your e-mails settings.
- Update the end of
/application/config/config.php
if you want to change the default behaviour.
- It is recommended to change the private and public RSA keys (in
assets/keys
).
- Check your installation with the
requirements.php
page at the root of your installation (e.g. http://localhost/lms/requirements.php).
- The default user is bbalet and password is bbalet.
Contribute
Credits
Contributors
- Github and Google group users for their ideas and tests.
- All participants of the Transifex project.