Design and develop server side software for monitoring tweets from defined twitter users.
In this project, software developer will develop a scalable and high performance server side application with node.js. This application will have the following restful web services for interaction with other systems:
1) new entry registration: will be used to register a new entry. Entry will have a field for the twitter username to monitor and another field for the tweet text to monitor.
2) reporting: will be used to collect the current results for an entry. Entry will have the same inputs as above. Report will be in json format, and should contain all the information about the twitter user and all the information about tweet which the user is expected to post, i.e. if it's really tweeted, any replies, retweets, likes, favorites, etc.
Server side will store the entries in a database and an engine will be scanning/monitoring the tweets from the registered twitter users. If engine finds an entry matching the given tweet text, it fetched all the relevant information from twitter and puts into the same database for later reporting. Engine should be updating the report data regularly since the information in twitter may be changing. I.e. tweet is deleted, number of favorites, likes, retweets change, etc.
In summary, with this application, we will be monitoring given twitter users and report if they tweet the given tweet texts. And this report should contain all the information that can be extracted from twitter.
* Software developer is expected to provide a turnkey solution, with running server side, working apis, database.
* Source code should be fully commented
* Software developer should explain which frameworks and libraries being used with the reasoning
* Server side and database design should be scalable and high available. Software designer should explain how the high availability is provided
* Software designer should execute performance tests on the solution and should report performance figures for the web services and server side. I.e. API request per second, tweet monitoring per second, max number of users on a single server, etc.
* Software designer should be ready to continue working on similar extension projects.
Please write back to me what you think about above project and principles.
Generic applications without reading the description and without providing relevant comments and detailed proposal will be deleted without consideration.