Using the Hacker News API, create a webapp that:
- Shows Top Stories, from Hacker News
- Has pagination for the top stories (page size: 30 items)
- Shows, for each story:
- n° of comments
- points
- author name
- Implement a search feature to filter the top stories:
- include an input field for the search query
- once the user clicks on a "search" button, the current search query must be shown on top the result list (e.g.: "Search results for 'foo'")
If you don't know what Hacker News is, you can go to https://news.ycombinator.com.
Please provide a git repo or a tar.gz file containing all the files needed to show your implementation. When you're ready reply to HR providing the link to your material with proper instructions for us to download and test your code.
Please write in a short document (.md or .txt) your main development/design choices and put it in the root folder of the repository.
- We prefer to use vanilla Javascript and the latest EcmaScript (ES6+) features
- Using libs/frameworks is not forbidden, but we want to see your code, not someone else's
- You can style your app using SASS or pure CSS
- The solution should work in IE11+ and all modern browsers
- Write E2E and unit tests
- Pay attention to security issues
- The UI can be as simple or as complex as you wish
- Focus your work on Top Stories endpoint. you should be able to show us proper code reuse for other pages of the Hacker News website like jobs, new, ask, etc...
- We are keen to see how much you think is enough, and how much would go into a Minimum Viable Product. As a guide, elegant and simple wins over feature rich every time, though extra gold stars are given to people who get excited and do more because they are having fun
- We also consider the extensibility of the code produced. Well factored code should be relatively easily extended.
- Bonus points for vanilla JavaScript, unit tests, good accessibility, responsive design, well commented code and comprehensive commit history
- You should be able to show us how to test-drive your solution using TDD.
Hope it all makes sense, we're looking forward to your solution, happy coding! :)