The idea of the tool is to be able to easily find out viral photos from a specific Instagram account. This will involve scraping account webpage and extracting necessary information. Final product should be a web application written in Java where a user can enter instagram account id and number of posts to analyze. The results will be displayed on the next page.
Initial Input Page Requirements
IP1 - a filed to input Instagram username
IP2 - a field to input number of posts to analyze
IP2 - submit button to start processing
PR1 - make HTTPS request to the user account page
PR2 - use the load/more to button to get more posts up to the number requested to analyze
PR3 - for each post get the following from HTML response: post date/time, image url, number of likes, number of comments, link to full post
RP1 - display instagram name at the top of the page.
RP2 - display the following information in a table form: post date, the actual image, number of likes, number of comments, button to get full post details
RP3 - results of pressing the button should be a popup that has the full image shown, under the text of the URL so it can be copied with a button beside it to Copy To Clipboard (when pressed, will store image URL to clipboard so itbcan be pasted in another place). Under the URL should be the post description text.
Get Full Post Details Requirements
FPD1 - this will be a second servlet that will take full post URL as input, load the HTML and extract full size image and post description.
FPD2 - use the input URL to do HTTPS request to get full post: extract full size image URL, post description.
TR1 - entire application should package as a WAR file with a Maven build. And be deployable into a Tomcat.
TR2 - all web requests to instagram should go through a configurable proxy that has IP, port, username, password
TR3 - proxy configuration should be in a properties file.
TR4 - Backend should be coded in Java.
EH1 - all errors should be displayed on results screen. The app should not silently fail or show no action.
- ensure testing is done of all components before submitting work for review.