THIS IS FOR PROGRAMMING AND FUNCTIONALITY...
Graphics/web design IS NOT NEEDED
Need this done this week. If you cannot start immediately, then DO NOT BID.
Simple website Job Overview
This site SOUNDS complex, but if you really look at it, its all simple database posts/calls. The membership portal function can be anything and is pretty standard for any e-commerce/membership site.
special features include
simple order purchase system
token tracking system
audio file upload
txt, csv mass number upload for phone number database
this job can be done in any language and should really take less than 10-15 hours for an experienced coder(especially if you have done any type of member site as you already have the engine available.)
I expect best practices, using multiple files for a modular type of structure, each page/function should have its own code and code should be fully commented.
I expect not to explain obvious things for user friendlyness...like adding a "forget password" feature for the login system or telling you "country" needs to be in the user full contact details table. etc
-Member site with typical registration/login system (all typical features like password reminder etc)
-Members get to purchase "tokens" to be used in exchange for service.
-service sends out phone calls (separate backend server coding job)
User selects number of tokens to purchase and site will take order in a shopping cart or toggle list style. (see [url removed, login to view]) Once order is placed, payment is made by interfacing with 3rd party shopping cart ([url removed, login to view]). Once cart returns value indicating transaction was successfully charged, tokens are assigned immediately to users account balance.
Tokens can be assigned to campaigns by users(Custom mode) or used one at a time (Prepared mode)
Token balance is maintained for viewing by user/admin
tokens expire 1 year after purchase
tokens purchases are logged with user (amount of tokens purchased, time/date)
User will have typical full contact information table.
when site is in CUSTOM MODE
-User can create/edit/delete "campaigns"
-campaigns consist of 1 or more telephone numbers, a time/date stamp, and an audio file
-user will have ability at any time to upload an audio file (wav/mp3) to a campaign, each user has a media folder where all audios for that customer are kept
-campaign telephone numbers can be entered one at at time or uploaded for mass numbers (coder's choice text or csv file)
-user selects a time and date to deliver (not same as activation)
-user can activate by assigning available tokens to a campaign if there are enough tokens in account.
-all info placed in cue only after activation by user
CUSTOMMODE siteflow: user register/login, user buys tokens anytime, user creates campaigns anytime, user uploads files/numbers, user assigns tokens to campaign, and finally user activates campaign which is sent to cue.
when site is in PREPARED MODE
-user selects one audio from files presented by admin
-user enters ONE telephone number
PREPAREDMODE siteflow: user register/login, user select on prepared audio file from list, user enters phone number, user enters Delivery time, user buys token (or assigns if already has a few), activation is instant and sent to cue (as long as there was a token used/purchased).
The cue is what directs ASTERISK (on a dedicated server) where to go to get the file to send, number to send to and time to send it.
the cue contains prepared purchases and campaigns that have been paid for, selected and activated to be entered into the cue
the cue will be a special folder and database table combo creating a unique logid for each row/instance which will contain
the userID, campaignID, activated timestamp, audio files location, delivery timestamp, phone number to dial
Code/database will create one entry per row, even with multiple numbers in a campaign.
Therefore, when in custom mode, the user will only may have created a campaign with [url removed, login to view], 5 phone numbers uploaded via csv, and a selected time for the campaign.
the user would only have set: Delivery Timestamp, [url removed, login to view] location, phone #s 1 through 5
The code will separate and join to create multiple singular rows.
So in the example of 5 numbers mass uploaded with one file and one delivery time, Once "activated" The code would place into the cue as:
LOGID199, UserID, CampaignID, Activated Timestamp, Delivery Timestamp, [url removed, login to view] location, phone#1
LOGID200, UserID, CampaignID, Activated Timestamp, Delivery Timestamp, [url removed, login to view] location, phone#2
LOGID201, UserID, CampaignID, Activated Timestamp, Delivery Timestamp, [url removed, login to view] location, phone#3
LOGID202, UserID, CampaignID, Activated Timestamp, Delivery Timestamp, [url removed, login to view] location, phone#4
LOGID203, UserID, CampaignID, Activated Timestamp, Delivery Timestamp, [url removed, login to view] location, phone#5
notice logid and phone number are the areas that will change for each [url removed, login to view] would do the same in Prepared mode, they would naturally go in one at a time.
an additional field, unique phone number ID, or including as part of campaign id tied to the number of phone numbers in a campaign should be used as a sort of error checking, so the code is sure to put in ALL the numbers in a campaign and also not accidently duplicate numbers.
TWO SITE MODES that I can toggle how site is featured/presented to users on main page
Custom Mode OR PREPARED Mode
in CUSTOM MODE - can add/edit/delete/activate/deactivate campaigns for users.
in PREPARED mode - can upload audio files to be shown to users for selection
view user accounts, and modify token balances
view token purchase log (time range and field sort)
view cue log (time range and field sort)
view campaigns and tell whether they have been "activated" or not.
Function to Email all registered users
Site will check to see if user has enough tokens for a campaign (or prepared) and place in cue. Will prompt user if
enough tokens are not available.
In Custom Mode, equal tokens are needed for number of telephone numbers assigned to a campaign. So if there are 10 numbers in campaign A, then 10 tokens are needed in order to "activate" it and send to cue.
An activated campaign is one in which tokens have been deducted from users balance, and it is placed in the CUE
Activation in prepared mode can automatic, as the workflow is different and person will either 1) use from token balance or 2) immediately purchase a token.
If you want your bid considered put the word "asterisk" in your BID so I know that you read and understand all this. Anyone who doesn't have that in the bid either
1) didn't read all this
2) didn't understand
either way, if the word asterisk is not there, then you didn't understand/follow directions, and your BID will be ignored.
Not to be harsh, but I don't want to do business with people who are just throwing bids at the wall to see what sticks. If you didn't bother to read what I took the time to write here, or you don't understand it, that just means future problems.
I am looking for a great price and this is phase one of the site, the next phases are more complex which means more money for you in the future. So if you can do it for less than the specified budget SAY SO
This will be done on a linux based (CENTOS/Cpanel/WHM/PHP5/MYSQL5) dedicated server.