This project is the largest web-application which we developed. System for management of kiosks for selling of water actually is an ERP (Enterprise Resource Planning) web-based system and now it uses in several companies located on Russia, Ukraine and Belarus. Current version is the second version, previous system has less functionality and using of the first version has showed new requirements.
Our client’s business consists of deliver and installation and support of equipment for sell water. Modern water sale kiosk is automated and he needs to be controlled by operator. Each one kiosk has own modem and it connects to server to send information messages about its status. We was needed to develop web-based system which will be possible to process all messages, build reports and inform stuff via SMS about critical errors in kiosks. Also this system should build a set of reports and charts about working of all company. This application should be universal and it should be easy to install in any water sale company which uses equipment of our client.
This system has two levels of access to data. Administrator can setup all settings and enter data about kiosks. Operator can has access to reports which helps to support working of sell points such as water remains, connection statuses of kiosks and error messages. All commercial reports are available only for administrators.
The main problem in development of this system was large number of messages from kiosks. Each operation requires to send several messages on server. Finally we have very large database which become very slow after several months of using the system. This problem was solved using caching of data and periodically deleting old source messages (stores only cached reports). Also we used fast algorithms of working with MySQL database and multi threading processing in PHP. It gave us ability to manage more than hundred kiosks in one system.
Below you can see screenshots of system. Click on images to view in large scale and read descriptions.
Click on image to view it on full size