This project consists of a mobile application and a site with approximately the same capabilities.
It provides instruments for managers to create tasks for their staff using different parameters (frequency, due dates, configurable escalation data, etc.). The main advantage of this mobile app, in comparison to the rest of the other task managers is its flexibility that is sharpened for target businesses. Users can fully simulate their franchise using website and move all management routine there - schedule tasks with different templates, keep track of inventory, setup calendar for shift managers.
The typical workflow in the system looks as follows: Manager logins into the system using web or mobile application, creates a task for some employee or group of employees. Employees get notification to their mobile devices about tasks they were assigned to. These notifications are implemented using web socket server. Tasks can be To-Do lists with expiration time or periodicity, and such lists can be hierarchical.
During our work, we designed and implemented our own database and ORM for every necessary entity using CodeIgniter.
Accordingly to these entities we implemented all web application menus and interface elements, using JS, jQuery and CSS. All these stuff allows to perform necessary actions for all user types.
Another big part of work - is rewriting PHP web socket server on Node.js. We designed it like some kind of 'proxy' server, which calls different web app model's methods depends on mobile requests. It makes possible to avoid duplicating calls to database on web socket and typical web server parts. Also, it allows to improve common server performance and increase connections number. All interaction between mobile and server side executes using special API.