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.
- Official website : http://jorani.org/
- User group : https://groups.google.com/forum/?hl=en#!forum/jorani
This project is stable and ready for production. An online demo is available here : https://demo.jorani.org/ Use bbalet / bbalet for login / password.
- 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 Authentication (OpenLDAP, AD, etc.).
- OAuth2 Authentication (only Google+ at the moment).
- Available in English, French, Spanish, Italian, German, Dutch, Russian, Ukrainian, Persian, Khmer, Vietnamese, and Turkish.
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.
- 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.
- 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.
- Help us to translate the software in your language https://www.transifex.com/projects/p/jorani
- Suggest ideas, declare bugs with Github's issue tracking system or Google group.
- Read the TODO list if you want to know what are the priorities.
- NGO Passerelles numériques, our first user http://passerellesnumeriques.org/en/
- Github and Google groupe users for their ideas and tests.
- Translation : Roger WOLFS (Dutch), Heng Vongkol (Khmer) Christian SONNENBERG (German), Hector NESTAR (Spanish), Dario BRIGNONE (Italian), Oleg KOPTEV, Yevhen Kyrylchenko (Russian), Ela Alptekin (Turkish), and Sayed Kabir Salehi (Farsi) and all participants of the Transifex project.
We thank the following open source projects for the components used by Jorani:
- CodeIgniter MVC framework http://www.codeigniter.com/
- RSA Encryption in pure PHP https://github.com/phpseclib/phpseclib
- Excel import/export https://github.com/PHPOffice/PHPExcel
- OAuth2 Server https://github.com/bshaffer/oauth2-server-php
- OAuth2 Client https://github.com/thephpleague/oauth2-client
- OAuth2 Google Provider https://github.com/thephpleague/oauth2-google
- Sabre/VObject https://github.com/fruux/sabre-vobject
- PHPMailer https://github.com/PHPMailer/PHPMailer
- PHPMailer CI wrapper https://github.com/ivantcholakov/codeigniter-phpmailer
- bootstrap 2.3, bootbox and Font Awesome
- JQuery 1.x and JQuery-UI
- FullCalendar http://arshaw.com/fullcalendar/
- Datatable https://datatables.net/
- RSA implementation https://github.com/travist/jsencrypt
- Moment (JS dates library) http://momentjs.com/
- Selectize https://github.com/brianreavis/selectize.js
- Zero Clipboard https://github.com/zeroclipboard/zeroclipboard
- Google noto fonts https://www.google.com/get/noto/