Hello:
I am seeking the services of a programmer for the creation of an automated account provisioning system for my streaming media company. We offer several different streaming media hosting packages and I want to create an easy to use account provisioning and linking system that gives the end-user control over their account. I have a good idea of what I’d like the system to include, and am certain that we have many of the elements already in place.
As customers sign on, their credit cards are authorized and account info is stored in a customer database. Usernames and passwords are entered and home directories and created. They are then given access to the Control Panel, where they can manage their accounts and media. Lastly, a Dynamic Linking System allows them to easily link to streamed media files from their web pages.
As far as I can tell, there are three parts to this project:
Automatic Account Provisioning
User Control Panel
Dynamic Linking System
But First: A Brief System Overview
We have three streaming media servers (QuickTime, Windows & Real) connected to a Network Attached Storage (NAS) device. The NAS is run with the Linux operating system (6.2 ?). Customers store their media in home directories on the NAS. Customers have user accounts on the NAS and can access their CHROOTed home directories via ftp. The streaming servers connect via ethernet to the customer’s home directory and deliver the streamed content.
1. Automatic Account Provisioning
Account provisioning needs to be automated. The process should flow something like this:
a. Capture of Account Information – written to database — email notification
b. Credit Card Authorization and Approval — number written to database — email notification
c. Account Provisioning on NAS – creation of chrooted directory (sample media files in directory from SKEL), unique username & password (user selected)
We also offer a free trial to entice potential customers to use our services. We would need a way to convert free trials to paying accounts (perhaps in the upgrade account section of the control panel?). Additionally, we need a system that will automatically rename the directories of free trials (or some other means of turning them off) after a set period of time. Free trials do not require the input and acceptance of credit cards until they are converted to paying accounts.
2. User Control Panel
The control panel provides an easy access to customer files and account information. The control panel obviously needs to be accessed via a web interface and needs to be password protected with the same username and password entered in the web form. The control panel needs to have information about:
* disk space allowed (quotas)
* disk used
* megabytes transferred (as determined from streaming server logs? Directory stats?)
* megabytes of transfer remaining (depends on hosting package selected)
* file upload
* file download
* ability to delete and rename files
• ability to upgrade account to another hosting package
3. Dynamic Linking System
Each customer stores all of their files in one directory. In an effort to make the linking of these files more user friendly, I want to create a dynamic linking system that converts http requests to rtsp behind the scenes. Each streaming media format links in slightly different ways. By using mod::rewrite with apache, we can write regular expressions to determine what kind of media file is being requested, then send the correct link back to the requester— launching the correct media player or browser plug-in. By doing this, users will be able to link their media files into their websites using standard http requests instead of ram files, poster movies and the like.
As I said before, we have most of the elements in place... All that is left is your expertise.