Things you may want to cover:
-
Ruby version: 2.5.3
-
Rails version: 5.2.2
-
Database: sqlite3
-
Prerequisites: Headless chrome browser driver
Picture of acutal home page
When users types input and searches. Also has Read More button which gets the next 10 blogs using AJAX request
When the blog is clicked, it opens new tab and displays it
All the history is stored in database
When the user clicks on History table, the search is triggered
Simulation of user typing in input feild and it is stored into History database, as soon as the search button is clicked
Related tags and their searches triggered
On wrong input, error is displayed
In a nutshell, I have used an idea of headless chrome browser which is automated using nokogiri gem (used for web scraping). It extracts data from that headless chrome, parses it and responses with JSON, where angularJS is used to display it. I mainly used this approach because medium makes ajax request on a scroll, so I was not able to use the traditional idea of paginations.