Twitter follow app

IN PROGRESS
Bids
11
Avg Bid (USD)
$282
Project Budget (USD)
$100 - $400

Project Description:
SUMMARY:

A twitter follow application, which searches for relevant twitter IDs, filters these on defined criteria, and follows them, then unfollows if no follow back within a defined period of time.

?

The application will require a browser interface to input and change the criteria.

?

A suggested approach is given, however alternative approaches are acceptable if the defined functionality is achieved.

?

The application should be created using PHP and MySQL.

?

FUNCTIONALITY:

* Search twitter for tweets containing defined words

* Analyze the twitter ID to determine whether it is a follow target based on:

- absence of defined keywords

- follower/ following ratio within defined range

* Follow the twitter ID if meets criteria ( to defined number of follows each day)

* Unfollow the twitter ID if does not follow back within defined number of days

* Maintain database of key data including targets, follow dates, whether meet criteria etc.

?

LANGUAGES/SKILLS:?

PHP, MySQL, Twitter APIs (search and REST)


## Deliverables

TWITTER FOLLOW APPLICATION ??" SPECIFICATION

?

SUMMARY:

A twitter follow application, which searches for relevant twitter IDs, filters these on defined criteria, and follows them, then unfollows if no follow back within a defined period of time.

?

The application will require a browser interface to input and change the criteria.

?

A suggested approach is given, however alternative approaches are acceptable if the defined functionality is achieved.

?

The application should be created using PHP and MySQL.

?

FUNCTIONALITY:

* Search twitter for tweets containing defined words

* Analyze the twitter ID to determine whether it is a follow target based on:

- absence of defined keywords

- follower/ following ratio within defined range

* Follow the twitter ID if meets criteria ( to defined number of follows each day)

* Unfollow the twitter ID if does not follow back within defined number of days

* Maintain database of key data including targets, follow dates, whether meet criteria etc.

?

LANGUAGES/SKILLS:?

PHP, MySQL, Twitter APIs (search and REST)

?

INTERFACE:

The interface to the application will have the following fields which can be updated by the user:

A. Search terms for identifying twitter ids

B. Number of new twitter ids to generate from A

C. Keywords to avoid

D1. Lowest acceptable follower/ following ratio; D2. Highest acceptable follower/ following ratio

E. Number of new twitter ids to follow each day

F. Number of days after each new follow to unfollow if no follow back

?

SUGGESTED APPROACH:

Following is the suggested approach to this application. The developer may choose a different approach as long as the defined functionality is achieved.

?

It is envisaged that the application will consist of two or three separate procedures, which can each be run at regular intervals as? cron job/s on a unix server.

?

DATABASE:

There will be one or more tables containing information about all twitter ids encountered. Following is an initial proposal of what fields might be required. The developer will be expected to refine this list as required to fulfill the purpose, and possibly split it into multiple linked tables instead, if this is technically necessary or desirable.

?

Table of followers/following etc for @xyz with fields:

- twitter id

- currently follower of @xyz

- @xyz is currently following

- date started being follower

- date started following

- # followers

- # following

- has been identified as a target to follow

- date target was identified

- has been followed

- date target was followed

- failed to followback within specified period

- date target became a follower

- date target was unfollowed

- has failed keyword test

- has failed follower/ following ratio test

?

It might also be useful to keep a table or tables containing lists of search terms and undesirable terms.

?

PROCEDURES:

There are nominally three main procedures, although in practice the developer may choose to implement this differently for technical reasons.

?

Procedure A: Update the Current Follower/Following Status of the Base Twitter Account

1. Obtain list of current followers/following for the base twitter account.

2. Update database table fields as required to cater for any changes since this was last run eg.

- Add any new followers, and if they had been a target awaiting a followback, then update the fields to show this new status

- If there are any existing followers in database who no longer follow, and had been a target, then set the failed to followback field.

- Etc...

Note - the first time this is run for the twitter base account, the table will be created from scratch. On subsequent runs, it will update the table as required.

?

Procedure B: Search the Twitter Stream to Find Targets

1. Perform general twitter stream search on defined keywords terms (use A (see Interface section above)) and obtain B (see Interface section above) most recent posts.

2. Extract list of twitter ids of originators of posts.?

3. Check whether the twitter ids are already in the database as potential follows or not having passed key criteria

4. If they are new twitter IDs, split into two lists a)? those with any keywords from list C (see Interface section above) in the 10 most recent posts (failed), ? and b) the rest (passed).

5. Filter by follower/ following ratio: For those that passed in step 3, calculate their follower/ following ratio ??" if it falls inside the range D1<x<D2 then pass, if it is less than D1 or above D2 then fail

6. For each failed twitter id, update table to indicate failed keyword test or follower/ following ratio test

7. For each passed twitter id, add to database, set flag to show been identified as target, and date

?

Procedure C: Add New Follows From the List of Potential Targets

1. From the database table, extract E (see Interface section above) twitter ids which have target to follow flag true, but not yet followed

2. Add a follow for each these to the base twitter account, and set database fields including follow date accordingly, to show that follow has been instigated

?

Procedure D: Unfollow Targets That Do Not Follow Back

1. Identify any targets that have not followed back in F days (see Interface section above) since the initial follow and unfollow these

?

There should also be the ability to export the databases.

?

NOTES:

- Procedure A should probably normally be run immediately before either B or C is run, to ensure that they are working on up-to-date information.

- Procedure B could be run fairly frequently - maybe several times per hour, for example - but there may need to be some trial and error to see how often it should be run to avoid getting too many unnecessary duplicate targets versus running it too infrequently and missing some possible targets.

- Procedure C might be run only once per day, for example.

- The number of posts to examine per run, number of targets to follow per run etc should all be flexibly implemented, so that they may be easily experimented with and adjusted.

Skills required:
Engineering, MySQL, PHP, Project Management, Software Architecture, Software Testing, Web Hosting, Website Management, Website Testing
Hire rossdawsonvw
Project posted by:
rossdawsonvw Australia
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.