I need a web site for administering meters.
The base entities of the application will be meters, a number of meters are assigned to an owner, owners are grouped in zones and zones are assigned to an organization.
Meters are identified by a serial number (16 hexadecimal digits). There is a single meter table with the following columns: date_time (datetime), serial (varchar), counter (double), status (tinyint). An existing application inserts rows in this table.
The application must be multi-user.
Super-admins can add/remove/modify organizations and admins, and assign/unassign admins to organisations.
Admins can modify a single organization by adding/modifying/removing groups, assigning/unassigning owners to groups, and assigning/unassigning meters to owners.
Standard users can only view a single organization and its groups, owners and meters.
Viewing each organization/zone/group/owner means showing all assigned meters’ and their most recent information from the meter table, based on the date_time field. If the most recent date_time of a meter is older than a certain amount of time (settable for every organization), that meter will be shown distinct as offline.
There must be another viewing mode: the user must be able to pick a year and month and the application must show for every meter the difference between the last stored counter in that respective month and the last counter stored for the previous month (monthly difference).
Each view mode must support exporting the generated meter list to Excel file or CSV format.
The web site must be responsive (HTML5), developed using a well known framework (Codeigniter, Zend, etc.) . Keep in mind that the web site will grow to tens of thousands or hundreds of thousands of meters.