Queue Management Systems for LPG vendor agencies of Sri Lanka, for the LPG shortages in 2022

Overview

gas-queue-mgt

Queue Management Systems for LPG vendor agencies of Sri Lanka, for the LPG shortages in 2022

Installation

Requirements

  • PHP 7.4 or later
  • MariaDB 10.4 or later

SMS Gateway

  • By default, the system uses FastSMS (Sri Lanka) service.
  • If the service needs to be changed, sendSMS() function in common/sms.php needs to be changed.
  • The configuration parameters in common/config.php needs to be changed accordingly.
  • The configuration parameters in common/config.php sms=>prod has been set to false this will provide UI to view the SMS via /api/v1/send?phone_number=07xxxxxxxx format url

Steps

[INCOMPLETE]

  1. Clone code from GitHub
    git clone https://github.com/madhusankagoonathilake/gas-queue-mgt.git
  2. Move to the installation directory
    cd gas-queue-mgt/
  3. Run composer install
  4. 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

(Near) Future Improvements

  • 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

(Not-so-Near) Future Improvements

  • Using Location Based Services, automatically select the nearest agency for the buyer (by Hansaka Weerasingha)

Design Decisions

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
You might also like...
Demo Silverstripe and JavaScript sources for Lightning Talk
Demo Silverstripe and JavaScript sources for Lightning Talk "FormField Mini Apps" at StripeCon EU 2022

Watch the Lightning Talk on Youtube 📺 Demo repository for Lightning Talk "FormField Mini Apps with the JavaScript framework/lib/style of your choice"

The tool converts different error reporting standards for deep compatibility with popular CI systems (TeamCity, IntelliJ IDEA, GitHub Actions, etc).
The tool converts different error reporting standards for deep compatibility with popular CI systems (TeamCity, IntelliJ IDEA, GitHub Actions, etc).

JBZoo / CI-Report-Converter Why? Installing Using as GitHub Action Example GitHub Action workflow Available Directions Help description in terminal Co

Xplico is a Network Forensic Analisys Tool NFAT, for Unix and Unix-like operating systems

Xplico is a Network Forensic Analisys Tool NFAT, for Unix and Unix-like operating systems. It uses libpcap, a packet capture and filtering library.

Implement event systems, signal slots, intercepting filters, and observers.

zend-eventmanager Repository abandoned 2019-12-31 This repository has moved to laminas/laminas-eventmanager. zend-eventmanager is designed for the fol

Simple library that abstracts different metrics collectors. I find this necessary to have a consistent and simple metrics (functional) API that doesn't cause vendor lock-in.

Metrics Simple library that abstracts different metrics collectors. I find this necessary to have a consistent and simple metrics API that doesn't cau

Composer plugin that wraps all composer vendor packages inside your own namespace. Intended for WordPress plugins.

Imposter Plugin Composer plugin that wraps all composer vendor packages inside your own namespace. Intended for WordPress plugins. Built with ♥ by Typ

A composer plugin, to install differenty types of composer packages in custom directories outside the default composer default installation path which is in the vendor folder.

composer-custom-directory-installer A composer plugin, to install differenty types of composer packages in custom directories outside the default comp

The Drupal Vendor Hardening Composer Plugin

The Drupal Vendor Hardening Composer Plugin

This composer plugin removes unnecessary development files and directories from vendor directory

Composer Vendor Cleaner This composer plugin removes unnecessary development files and directories from vendor directory. Installation Local installat

Comments
  • Added a Simple test SMS service to see the Auth code via web UI

    Added a Simple test SMS service to see the Auth code via web UI

    Added a Simple test SMS service to see the Auth code via web UI

    New config value "prod" has been added for testing also OTP SMS data can be access via /api/v1/send?phone_number=07xxxxxxxx format url

    opened by lahirunirmalx 0
  • Feature language selection

    Feature language selection

    This commit will allow users to select their preferred language at the start page

    • Translated the start page to English
    • Use this branch for English translation of the project
    opened by rukshn 0
Owner
Madhusanka Goonathilake
Madhusanka Goonathilake
YCOM Impersonate. Login as selected YCOM user 🧙‍♂️in frontend.

YCOM Impersonate Login as selected YCOM user in frontend. Features: Backend users with admin rights or YCOM[] rights, can be automatically logged in v

Friends Of REDAXO 17 Sep 12, 2022
A study of the design, implementation, and management of enterprise information systems.

Enterprise-Architecture A study of the design, implementation, and management of enterprise information systems. Organization: University of North Ala

Look Alive 1 Jan 7, 2022
2022 edition of the inRage Theme fully based on Gutenberg with the support of Roots Sage 10

2022 Edition - inRage theme This version of the theme is compatible with the Full site editing of Wordpress 5.8/5.9 and use Sage 10 in order to manage

inRage 5 Jan 3, 2023
Projet Jura2021-2022

CodeIgniter 4 Framework What is CodeIgniter? CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure. More information

null 2 Jan 3, 2022
Mailing Microservice - My solution for Moroccan PHPers's February 2022 Challenge

Mailing Microservice Solution for Moroccan PHPers's February 2022 Challenge by Rabyâ Raghib ([email protected]). It mainly consists of: a php app th

Rabyâ Raghib 1 Aug 11, 2022
A&D challenge for AIS3 EOF CTF 2022 Final.

A&D challenge for AIS3 EOF CTF 2022 Final.

ꌗᖘ꒒ꀤ꓄꒒ꀤꈤꍟ 5 Feb 28, 2022
Trabajo final de la materia Bases de Datos 1. Creación de una base de datos con MySQL y desarrollo de una página web con PHP para manipularla. UNAL sede Medellín, semestre 2022-1.

Trabajo final BD: i-Lunch Materia: Bases de Datos I Profesor: Francisco Javier Moreno Arboleda Institución: Universidad Nacional de Colombia sede Mede

Emmanuel López Rodríguez 2 Jul 9, 2022
Major Security Vulnerability on PrestaShop Websites - CVE-2022-31101

Fix Major Security Vulnerability on PrestaShop Websites ?? CVE-2022-31101 detector and fixer! A newly found exploit could allow remote attackers to ta

Mathias Reker ⚡️ 25 Nov 22, 2022
CVE-2022-29221 Proof of Concept Code

CVE-2022-29221-PoC This is a very basic Smarty sceleton app with a single template that shows the Proof of Concept code for CVE-2022-29221. Injection

S Bani 12 Nov 4, 2022
Repositorio del código fuente utilizado en la página web Lifo.es durante los años 2017 a 2022

Lifo.es Código fuente del juego de rol online Lifo modificado por mi (Sora) durante los años 2017 a 2022. Este código es una modificación del código b

null 5 Dec 28, 2022