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.
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.
Open Source Agenda is not affiliated with "Jorani" Project. README Source:
bbalet/jorani