1. Scope of Work
The scope of work for this project shall consist of a Windows application that runs as a service with administrator privileges on a Windows server machine. The project includes the following tasks:
A. Designing an developing the code for this Windows application/service.
B. Unit testing in the developer's development/test environment.
C. One round of bug fixes and changes in the test environment.
D. Deploying the code to the final operating environment.
E. Integration testing in the final operating environment.
F. One round of bug fixes and changes after code deploy.
2. Functional specifications
The application itself shall contain the following functionality:
A. Realtime monitoring of an arbitrary number of live Twitter feeds. List of Twitter accounts to monitor is user-configurable, and user may add more than one account to monitor.
B. Recognition that a tweet from one of the monitored Twitter accounts contains the announcement of an RSVP opportunity, and contains a link to an image containing the data required for sending an RSVP. Keywords for detecting this tweet are user-configurable.
C. Obtaining and processing the image to extract only the relevant text (the target text is a Twitter hashtag hidden among many decoy hashtags).
D. Sending a Twitter RSVP Direct Message (DM) back to the originator of the RSVP opportunity tweet from an arbitrary number of Twitter accounts. Each DM contains the following information: Destination Twitter account, size desired, full name, extracted hashtag from step C above, Originating Twitter account. This message data is user-configurable, and user may add more than one set of data.
E. Monitoring replies to any and all DMs that are sent from this bot. Forward all replies to a user-specified email address.
F. Errors must not result in the termination of the service. Log all errors in an error log, and optionally, allow service to send errors to a specified email address in realtime, as the errors occur.
G. Service, when running, should display an icon in the system tray that brings up the administration interface when double-clicked.
3. Administration User Interface
The administration user interface shall consist of a standard Windows application interface, accessible by clicking on the system tray. The user interface shall consist of the following tabs:
A. RSVP Setup
- An RSVP is defined as a complete row in this data grid.
- user may enter as many rows as they wish.
- contains button to clear all &quot;DM Sent?&quot; = Y rows
- contains delete button on each row to delete single rows
- Tab contains a data entry grid that has the following columns:
* Monitored Twitter Account (varchar 50; all entered account names for each RSVP row will be monitored, as long as the &quot;DM Sent?&quot; for that row is N)
* Keywords (varchar 50; perform exact keyword matching when monitoring live Twitter feeds)
* Full Name (varchar 50)
* Size Desired (varchar 8)
* Originating Twitter account (varchar 50).
* DM Sent? (indicator column to show if a DM was sent; Y or N possible values, system controlled)
* Reply Received (indicator column to show if a reply to the DM was received from a monitored Twitter account; Y or N possible values, system controlled)
B. Email Setup
- contains field to capture email to forward DM responses and errors (optional)
C. Error Log
- Show text of error log realtime.
- contains button to clear error log.
- contains checkbox &quot;Send errors to email address in realtime&quot;; if checked, send errors in realtime to email address entered in Email Setup tab.
4. Format of DM
The format of the DM that is to be sent will be as follows:
@[Monitored Twitter Account] [extracted hashtag from image] [Full Name] [Size Desired]
5. Reference Materials
See this link for how a similar system works:
[url removed, login to view];amp;gl=US&amp;client=mv-google&amp;v=1Rtl44Upkl0&amp;nomobile=1
How the Nike RSVP process works:
[url removed, login to view]