In previous articles, we have harvested Twitter Trends and Google Hot Trends using Spring Batch. Meanwhile, I got an idea to create a NEWS app (for smart phones and tablets) which will use the crawled trending topics to generate the NEWS for "InstaNews." Here is the thought process:
- When something happens around us, people share the information with their friends using tweets and searches more on the google. By using the crawled trending topics and the twitter tweets search, we can generate the trending tweets.
- Google provides the hot searches and the associated content.
With the above two points, the application will get the content. We are targeting audience with hot news, the content should reach to the audience very quickly. Below stats are the motivation to choose mobile app than a website for this idea. The stats tells "It’s APP world," mobile apps are more reachable than the web.
Now it's time to see the system architecture of the “InstaNews” app.
The system architecture has a node js server to harvest the trends and the NEWS. The other node js server form is backed up by the load balancer which will serve content to end users. The NEWS content is maintained in Memcached server.
Now, let us see the technology stack proposed for “InstaNews."
Now let me justify the technology stack. Before getting into the details, I want to make the technology stack which doesn’t require a long learning curve for the web developers. Keeping that in mind I have chosen lightweight technology stack consists of Node.JS, ExpressJS, PhoneGap, Memcached.
Express JS: The HTTP node module to expose REST services. PhoneGap will consume the REST services.
Memcached: The cache to store the trends and NEWS content. I have chosen as it is simple to use volatile data. I don’t want to persist the content as the content changes so frequently. Refresh the content at specific intervals.