I want a simple PHP script that does the following for me--
(1) Shows a number of plans to the user-- now user chooses one of the plans and also specifies a web host + hosting plan from a list of available plans, and immediately he has to make a payment (for which he is sent to the payment page)-- once payment is done, user is redirected to our site, and the script deploys the app chosen by the user into the cloud or shared host selected by end user...config information about the new script(which was copied) in a single file- and also stores some data into the SQL Server database. Note that there should be an admin screen to add various (different) scripts (which ultimately have to be deployed on cloud by your script). So that I can manage all the scripts and hosting plans which can be offered to the end user.
For deploying to cloud servers-- I already have with me an installation of Cloudify that actually does the deployment- you just have to invoke the correct Cloudify command (using Cloudify API) to make the correct script be deployed to correct cloud web host.
Now script redirects user to subdomain
(2) The script is able to map a custom domain of the user's choice to the subdomain which was chosen by the user earlier.
(3) Your script will be run as a PHP cloud based application-- now in the previous steps a new subdomain was created for the user - your script has to connect to Cloudify API and determine the server load/RAM usage/ bandwidth used by that specific subdomain (ie that user's subsite). This also determines if user's usage exceeds quota assigned to him.
(4) Simple code-- if user exceeds bandwidth/space alloted to him as per his plan, then a single page that "This installation of is temporarily out of order- if you are an admin please contact XYZ to get it back to work" should be shown+warn admin with an email that his usage has exceeded quota. Also, the user of that script canspecify a usage limit eg 90% of max allowed-- when he reaches that limit your script sends an email to him asking him to upgrade.
Refer detailed requirements as well
(5) Single page which is a landing page(which is there in the HTML template with me) should be the home page. One page for About and one page for features should also be there...For these pages you can use HTML pages.
(6) Interface to go to Saasy for payments/upgrades and update settings for user.
create php code that configures a new domain to correctly use cloud flare cdn, also configure the domain correctly in the cloud server or shared host to which the end-user's script has been deployed by your script.
create migration script- to migrate a script from one type of cloud server to another-- we can use cloudify API to do this migration for us. There is a need for a script to copy a shared host's script to the cloud (if a user wants to migrate from shared hosting to cloud hosting) or from cloud host to shared host-- this should be done using FTP (for files) and suitable means (for database migration- there should be ready to use scripts for this)
stats screen in script(visible only to admin who signed up for an application using your script) that shows db/bandwidth/space utilisation for that script as well as other details like number of users-
there is a web console in cloudify that already has detailed information of this kind-- we just have to use that API to get it and
show it-- the template I provide you with will have support for graphs etc so that can be used to display the data. Note that if the user's script is hosted on shared host- then you have to get the data from that web host (control panel will be either CPANEL or PLESK)
The template supports multiple colors-- add this ability to the admin screen for script settings- so that he can pick one of these colors.(I am referring to the colors/images etc for the script that you are creating)
simple php code to upload the helpdesk (or any script of my choice) to a shared host, insert the database contents into SQL Server on that shared host and add config code to make that helpdesk run correctly--
This work requires the following---
Admin interface where I can add a shared host- with different plans-- for each plan the following will be provided-- space allowed, number of sites allowed per plan,
domain under which that plan works (script has to create a subdomain within that domain). The screen should be organised according to Web Host-> hosting Plan->Limits for that plan.
There can be multiple plans for each host. And each plan of the host has a corresp plan name in our script.
Now when user chooses a host, and a plan-name- the script retrieves details of a server of that host where we have a shared hosting plan corresp. to user selected plan name,
and also fetches the domain under which that plan works-- after this your script asks the user to specify a subdomain under that domain-- now it creates that subdomain and sets up the
script on that subdomain.
Once you are finished there should be a couple of screens--
(a) End user sign up/login/forgot password-- use template that I give you for this.
(b) End user page-- he can choose an app/ server (cloud or shared) / plan and deploy that app.
(c) End user page-- to show stats of apps being used by that user.
(d) End user page-- to enable the user to upgrade/downgrade/cancel any of his apps-- basically he can change the type of cloud server/ or cloud provider/ move from cloud to shared/move from shared to cloud.
(e) End user page-- to connect to billing at SaaSy (that is a billing platform for web apps)
(f) Admin screen- to add shared hosts-> hosting plans->plan details->domain name for a plan.
All the points except the support for shared hosting are very easy to do - each task should not require more than few mins.
With ref to the support for shared hosting-- please give me a separate cost estimate for this part.
And please give an estimate for the remaining work (those directly mentioned in project requirements as well as all points except the shared hosting support that are
there in this document).
Initially create the PHP functions that will implement above functionalities-- also design a SQL Server database for managing the above app.
I will provide you with a HTML/CSS template- you have to use that template to create the final web-accessible version of your script.