Queue Management Systems for LPG vendor agencies of Sri Lanka, for the LPG shortages in 2022
- PHP 7.4 or later
- MariaDB 10.4 or later
- By default, the system uses FastSMS (Sri Lanka) service.
- If the service needs to be changed,
sendSMS()
function incommon/sms.php
needs to be changed. - The configuration parameters in
common/config.php
needs to be changed accordingly.
- Clone code from GitHub
git clone https://github.com/madhusankagoonathilake/gas-queue-mgt.git
- Move to the installation directory
cd gas-queue-mgt/
- Run
composer install
- Set up scheduled tasks (cron jobs) to run the following command every 5 minutes & 4 hours respectively
cd ${INSTALLATION_DIR}/bin && php send-notifications.php > /dev/null
cd ${INSTALLATION_DIR}/bin && php handled-failed-and-unfulfilled-notifications.php > /dev/null
- Tamil translation (and multi-language support)
- Agency unregistering
- Encrypted Session Handling
- English translation
- Limit the queue for a configurable number of slots
- Reduce session timeout from the default PHP value
- Implement IP & session level restriction to malicious activity
- Complete the documentation of test cases
- Implement the removal of expired queue entries older than 2 weeks
- Automated bug reporting facility
Following decisions were taken to reduce the time to deliver, wider understanding and minimize overheads
- Used flat PHP over OOP
- Minimized the use of external libraries and frameworks