Standalone app to upload records from customers servers to the central database.
Setup a mySQL database to store all of the records.
A php based web-based application utilizing AJAX for streamline operation. (Must use the PDO for database interaction).
All output will utilize a template engine.
The main purpose of the web based application is to:
-Generate a multitude of pre-defined reports
-Perform spatial analysis
-Provide feedback on posts/bulletins
I need a developer to do the following:
Build a standalone application to export new and updated records from local database to a remote database over a secure connection. This application will be able to map the variables from the local database to the coordinating remote database fields as they will likely be named differently on each server. This application will be run by multiple different customer accounts on their server as a service to upload new records on a given schedule to the remote server.
A web based application (php) to standardize the new records based on a given set of rules (all customer records will be coded the same based on their criteria) and all new records have their locations/addresses geocoded. The new/updated records will be verified and have additional data added to them by a customer before they become usable within the customer account. The customers can then generate dynamic reports or run searches on these records.
These reports and searches will also provide dynamic maps using a mapping API (Currently undecided if the provider will be Bing, Google or Other, please list your preference/experience). Some of these maps will be on the same page as the search results and both the maps and the search results will be dynamic.
Spatial analysis will need to be conducted on-demand on similar records. Examples of types of spatial analysis will be; hot spots, predictive analysis, up and coming locations (trending locations), and new locations. These maps will also include records from other nearby customers, if the user is privileged to see those records.
The web based application will have an administrator account which is able to add/modify/delete customer accounts/users, etc. The customer accounts will also have different levels of access, i.e. moderator, power user, user, etc. There will be two initial types of customer accounts. Both accounts will be able to share information with other accounts. The sharing permissions will be able to be configured by each customer account moderator.
Each customer account will be given a default template for reports that are generated. Users will upload their own logo for these templates. Users will be able to customize these reports to their specifications using a template engine.
The design of the website must be modern, simple, clean and easy to navigate. The frontend must be separate from the backend.
The application must be scaleable so that it can handle hundreds of user accounts and hold millions of records.
This application is going to be initially developed and then likely to be continually modified/updated to add more functionality and additional modules. Future modules must be able to be easily added into the main application.
The application will also be able to, in the future, work on web enabled portable devices like the iphone/android/tablets. Upon successful completion of the project, we will likely hire the user for future additions to the program.
Please provide links to live web tools you've created. Well commented (in English) source code is required at the end of project.