Programmer required to create about half-a-dozen scripts (as outlined below) for a new service that will
(1) receive & store SMS text messages, and (2) generate & transmit emails.
Anyone (without registering) will be able to submit an SMS message.
Anyone (free registration) will be able to register to be emailed a copy of all received SMS messages that include their selected keyword/keywords.
The keywords will be entirely of the user’s own determination, and will be browser-submitted.
Any number of users can register for the same keyword, and each user can register as many times as they like so they can each register an unlimited number of keywords.
Registration will not require username & password, but email address & keyword.
The service will utilize Windows 2003 and MySQL database server. The database will probably have the tables & columns that are indicated in the next paragraph. I haven’t fully specified the database as that isn’t necessary at this point. Incidentally, “Confirmed” & “Delete” will have a Y” inserted into them when the user confirms/deletes, as records will not be deleted since they will be useful for analytical purposes even when non-functional.
table - user: columns - autonumber, email_address, keyword, confirmed, delete, language, timedate
table - sms: columns - autonumber, message, sender#, timedate_sent, timedate
table - email log: columns - autonumber, recipient, keyword, sms_autonumber, timedate
table - mailing_list: columns - autonumber, email_address, language, confirmed, delete, timedate
table - show_keywords: columns - autonumber, email_address, language, timedate
Any further tables/columns that you might require can obviously be added.
Five scripts will be required.
1. SMS receive & input to MySQL 5 database. An SMS gateway service-provider ([url removed, login to view]) will receive the message & forward it via http. I believe that the message will be broken into three constituents - a) message#, message, b) sender#, & c) timedate_sent. SMS will be received by a URL on the site and written away to the database.
2. Generate & transmit a registration confirmation email with link that must be clicked to confirm registration. As the user only registers their email address & keyword, it will be necessary to verify each registration by sending a clickable link in an email. When the link is clicked, the registration will be confirmed by the insertion of the letter “Y” in the “confirmed” column of the “user” table.
3. Generate & transmit message-received notification email & view message button. The service will send an email to every registered user whenever a message is received that contains their keyword. The email will not contain the message but a link to view the message on the site.
4. Generate & transmit a table showing all keywords for which user has registered & delete button for each record, upon a form (email address & keyword) being submitted on the site. Some users may register for many keywords so (in order that they can keep track of which ones they’ve already registered) it will be necessary to enable them to request a table showing which they have already registered. I envisage this table as being something akin to the one that ebay transmits each day, with which I hope you are familiar. This table will only be generated & transmitted when the user requests it via a form on the website. The table will need to have a clickable link for each keyword through which the user can it.
5. Generate & transmit registration deletion confirmation email with link that must be clicked to confirm registration deletion. When a user clicks a delete link in the table that shows all their registered keywords (see item 4), the service will transmit an email that contains a link that they must click in order to complete the delete instruction. When the clickable link is clicked, the deletion of that registration will be confirmed by the insertion of the letter “Y” in the “delete” column of the “user” table.
Let me know if anything is unclear or so ambiguous that you can't work out what it is required. Installation & testing for functionality will be required.